If o non if , it is the problem...

salvato:
All'interno di un progettino per pilotare delle resistenze elettriche per il riscaldamento mi si pone il seguente problema:
voglio che quando sulla seriale arriva un valore >5 il led (il pin digitale) sia alimentato, quando inferiore invece sia spento.
Però con questo codice funziona solo il primo if... dove sbaglio?
(la questione è talmente banale che non sto neppure a dire che sono pre-beginner...)
Più avanti le cose si complicheranno perché devo gestire 4 stati per diverse resistenze, ma credo che utilizzerò l'istruzione Switch.
Grazie per chi avrà la pazienza di aiutarmi

Ciao, Salvatore

#define led 13 // led connesso al pin n°13
int rx = 0; // variabile per contenere il carattere ricevuto

void setup()
{
Serial.begin(9600); // imposto la UART per lavorare a 9600
pinMode(led, OUTPUT); // imposto il pin sul quale è collegato il led come uscita
Serial.flush(); // svuoto il buffer di ricezione seriale
}

void loop()
{
if (Serial.available() >0) // Controllo se il buffer di ricezione contiene qualcosa
{
rx = Serial.read(); // leggo il carattere ricevuto e lo memorizzo in rx
Serial.flush(); // svuoto il buffer di ricezione seriale
if (rx>5) // ho ricevuto un valore maggiore di 5
{
digitalWrite(led,HIGH); // accendo il led
}

if (rx<4) // il valore è inferiore a 4
{
digitalWrite(led,LOW); // spengo il led
Serial.println("Led spento");
}
}
}

mah a parte che non si capisce come e dove vuoi aiuto lo sketc è incomprensibile Serial.flush(); non funziona più

s