stefano_8805:
Ho sostituito il delay() con il millis così:timeStop = millis()+23000;
while(millis()<timeStop){
Console.println(timeStop-millis());}
non cambia nulla, non arriva risposta al browser.
Eh no ste... non così... hai sostituito un delay con un altro delay: il programma comunque si blocca li per 23 secondi!
Il programma NON deve fermarsi li ma deve proseguire e ricominciare il loop in modo da far lavorare bene il tutto.
Lì devi solo testare una variabile "millis_inizio" con millis() e se millis()-millis_inizio > 23000
digitalWrite(GateReleControlPin,LOW);
delay(100);
digitalWrite(GateReleControlPin,HIGH);
Il "trucco" sta nel valorizzare correttamente millis_inizio
EDIT: mi spiego meglio.....
Potresti quando:
if (param1 == "ApriEBlocca"){
digitalWrite(GateReleControlPin,LOW);
delay(100);
digitalWrite(GateReleControlPin,HIGH);
millis_inizio=millis();
apEb = 1;
param1 =""; // la resetto.... non mi serve più
}
nel loop testi le condizioni:
if(flag=1 && (millis()-millis_inizio) > 23000){
digitalWrite(GateReleControlPin,LOW);
delay(100);
digitalWrite(GateReleControlPin,HIGH);
apEb =0;
}
Stefano