delay(1000);
....
....
for (int x = 0; x < 5000; x++) { // Wait for 1 second
delay(1);
}
....
....
for (int x = 0; x < 100000; x++) { // Wait for 1 second
delay(1);
}
no, la prima riga e le successive 3 fanno la medesima cosa, bloccano il programma in quella posizione impedendo l'esecuzione di altre istruzioni
diverso è
unsigned long myOldTime;
unsigned long pausa= 5000;
...
...
lcd.print("Sei Morto!");
myOldTime= millis();
if ( millis() - myOldTime >= pausa) { // Wait for 5 sec
lcd.clear();
lcd.setCursor(3, 0);
lcd.print("Riavviare!")
} else {
// esegui altre cose fino a quando la if diventa vera
}