Salve sto avendo un problema sulla funzione millis, il led si dovrebbe spegnere dopo un intervallo di tempo se il ricevitore ir non riceve nulla ma non funziona. Grazie in anticipo
#include <IRremote.h>
#define led 13
int RECV_PIN = 12;
IRrecv irrecv(RECV_PIN);
decode_results results;
unsigned long interval= 1000;
unsigned long previousMillis = 0;
int ledState = 0;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
pinMode (led,OUTPUT);
}
void loop(){
if (irrecv.decode(&results)) // have we received an IR signal?
{
Serial.println(results.value, HEX); //stampami il valore del telecomando in esadecimale
irrecv.resume(); // receive the next value
}
if ( results.value == 0xFFA25D) {
digitalWrite(led,HIGH);
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval) {
previousMillis = currentMillis; //save the last time you blinked the LED
//if the LED is off turn it on and vice-versa:
ledState ^= 1;
digitalWrite(led, ledState);
}
}
else {
digitalWrite(led,LOW);
}
}