Buona sera a tutti.
Siccome è da poco che mi sono approcciato ad Arduino ovviamente saltano fuori alcuni problemi ed incertezze..
Sto cercando di capire al meglio il funzionamento del ciclo "while", che in tutta sincerità il funzionamento l'ho anche capito ma non mi è ben chiaro come applicarlo.
Ho voluto creare un piccolo e semplice sketch per vedere se avessi capito come usarlo, in questo caso in particolare per accendere e spegnere 3 led e al premere di un pulsante essi smettono di accendersi, una volta lasciato il pulsante il ciclo dovrebbe riprendere.
So bene che ci sono altri modi e forse anche più semplici per avere questo risultato ma era un "esercizio" mio di prova per capire se può essere applicato anche in una situazione come questa.
Vi chiedo gentilmente il vostro aiuto, se posso avere dei consigli su come sistemare lo sketch ed eventualmente anche spiegare perché e dove ho sbagliato, così da farne tesoro e imparare qualcosa di nuovo.
Vi lascio in allegato lo sketch.
PS: non ci sono commenti nello sketch perché è uno sketch molto semplice e in più vi ho descritto di cosa si tratta, spero che questo non crei problemi.
Grazie mille.
Gio.
#define led1 11
#define led2 12
#define led3 13
#define tasto 8
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(tasto, INPUT);
}
void loop() {
bool run = true;
while (run) {
ciclo();
}
if (digitalRead(tasto) == HIGH) {
run = false;
}
}
void ciclo() {
digitalWrite(led1, HIGH);
delay(200);
digitalWrite(led1, LOW);
delay(200);
digitalWrite(led2, HIGH);
delay(200);
digitalWrite(led2, LOW);
delay(200);
digitalWrite(led3, HIGH);
delay(200);
digitalWrite(led3, LOW);
delay(200);
}