Problema con ricevitore ir e relè
Ciao, avrei in mente di controllare un relè con un telecomando ir. Il mio obiettivo è quello di premere un tasto sul telecomando e accendere il relè, premero lo stesso tasto sul telecomando e spegnere il relè. Ho provato il seguente sketch (riporto solo la parte nel loop):
funziona correttamente solo che lo stato del relè varia velocemente, cioè se tengo premuto il tasto sul telecomando oppure premo il tasto in sequenza il relè si accende e spegne molto velocemente. Avevo pensato di inserire una temporizzazione che iberna lo stato del relè per un tempo prestabilito senza bloccare il codice e la recezione di altri tasti sul telecomando, ma non riesco a farlo funzionare in nessun modo.
Qualcuno può consigliarmi qualcosa? Grazie!
- Codice: Seleziona tutto
void loop() {
if (irrecv.decode(&results)) {Serial.println(results.value, HEX); irrecv.resume();}
if ( (results.value == 0xFFA25D ) &&(stato_giradischi ==0)){digitalWrite(giradischi, LOW);stato_giradischi =1;}
if (( results.value == 0xFFA25D )&&(stato_giradischi ==1)) {digitalWrite(giradischi, HIGH);stato_giradischi =0;}
}
funziona correttamente solo che lo stato del relè varia velocemente, cioè se tengo premuto il tasto sul telecomando oppure premo il tasto in sequenza il relè si accende e spegne molto velocemente. Avevo pensato di inserire una temporizzazione che iberna lo stato del relè per un tempo prestabilito senza bloccare il codice e la recezione di altri tasti sul telecomando, ma non riesco a farlo funzionare in nessun modo.
Qualcuno può consigliarmi qualcosa? Grazie!