Non ci riesco... =(
ho utilizzato un counter ed un delay per attivare un relè per un tot di secondi ma ho capito che non va bene in quanto il delay blocca proprio arduino che non può ricevere altri comandi... quindi ho utilizzato il millis()
if(readString.indexOf("IRR1=1") > 0) {// lettura del valore dal web
starttime=millis();
while (millis() <= starttime + (MinutiIrrigazione*60*1000)){
digitalWrite(IRR1, LOW); // attivo relè
IRRON1 = true; //stato irrigatore per pagina web
lcd.setCursor(0, 0);
lcd.print("Irrigatore 1 MAN");
}
}
if(readString.indexOf("IRR1=0") > 0) {// lettura del valore dal web
//il led sarà spento
digitalWrite(IRR1, HIGH); //spengo relè
break;
IRRON1 = false;
lcd.setCursor(0, 0);
lcd.print(" Irrigazione ");
lcd.setCursor(0, 1);
lcd.print(" Giardino ");
}
e m i pare funzioni... ma se voglio annullare il funzionamento di questo relè manualmente come fare? Ho messo un comando break ma il problema è che dopo il break, il relè si disattiva ma poi non mi accetta altri comandi...
sbaglio qualcosa oppure utilizzate un altro metodo?
Grazie!