Salve a tutti
vi posto il pezzo di codice che non comprendo
if (msg.indexOf("rapr") > 0)
{
do
{
ritardo = digitalRead(apriCancelloR);
suonacampanello();
Serial.println(millis());
Serial.println(tAttuale);
if ((millis() - tAttuale) > tLimite)
{
tAttuale = millis();
break;
}
}
while (ritardo == HIGH);
if (ritardo == LOW)
{
pc_client.print("<p>apertura cancello ritardata</p>");
digitalWrite(apriCancello, HIGH);
delay(500);
digitalWrite(apriCancello, LOW);
}
else
{
pc_client.print("<p>apertura cancello ritardata non effettuata</p>");
}
}
alura...
il comando che arriva ad arduino via browser (chrome in questo caso ma quando sarà in produzione arriverà da iexplore) è:
http://192.168.1.46/rapr
come si vede dal codice entra nella if ed entra nel ciclo do, dal ciclo ne può uscire per due condizioni:
1- viene premuto il pulsante che fa aprire il cancello (il pin apriCancelloR è dichiarato in PULLUP)
2- viene raggiunto il tempo limite (tLimite) che è di 420000 millisecondi (che se ho fatto il giusto conto sono 7 minuti)
e questo è l'ultimo pezzo del serial monitor:
104441
78043
104457
78043
104473
78043
104488
78043
104504
78043
104519
78043
104536
78043
104551
78043
104566
78043
104582
78043
104597
78043
104613
78043
104629
78043
104644
78043
104659
78043
104676
78043
104691
78043
104707
78043
104722
78043
104738
78043
104754
78043
104769
78043
104784
78043
104800
78043
104816
78043
GET /favicon.ico HTTP/1.1
il numero fisso (78043) è il tAttuale l'altro è il millis, come si vede alla differenza di 420000 non ci arriva e quindi mi stampa quella GET.
qualcuno può illuminarmi su come mai non fa ciò che io mi aspetto che faccia?
Grazie a tutti e scusate la lungaggine del post.