#include <stdio.h>
// Inițializează interfața serială
void serial_init() {
Serial.begin(9600);
while (!Serial) ; // Așteaptă până când portul serial este deschis
}
const int LED_PIN = 8;
// Inițializează pinul LED ca ieșire
void led_init() {
pinMode(LED_PIN, OUTPUT);
}
// Funcție pentru a aprinde LED-ul
void led_on() {
digitalWrite(LED_PIN, HIGH);
}
// Funcție pentru a stinge LED-ul
void led_off() {
digitalWrite(LED_PIN, LOW);
}
void setup() {
// Înlocuiește funcția main cu setup și loop pentru Arduino
serial_init(); // Inițializează interfața serială
led_init(); // Inițializează LED-ul
Serial.println("System is ready.\n"); // Mesaj de start
}
void loop() {
char command[10]; // Buffer pentru comandă
if (Serial.available() > 0) {
// Așteaptă până când primești o linie nouă (\n)
size_t length = Serial.readBytesUntil('\n', command, sizeof(command) - 1);
command[length] = '\0'; // Asigură că șirul este terminat corespunzător
if (strcmp(command, "led on") == 0) {
led_on(); // Aprinde LED-ul
Serial.println("LED is turned on.\n"); // Confirmare prin serial
} else if (strcmp(command, "led off") == 0) {
led_off(); // Stinge LED-ul
Serial.println("LED is turned off.\n");// Confirmare prin serial
} else {
Serial.println("The command is unknown \n"); // Mesaj pentru comandă invalidă
}
}
}