Lampeggiare su comando
Fa parte della sezione Ingressi del percorso Arduino di Coddy. Lezione 18 di 22.
Digita 3 e il LED dovrebbe lampeggiare tre volte, poi fermarsi. loop() si ripete già, quindi lascia che si occupi del conteggio: mantieni una variabile con il numero di lampeggi ancora da fare. Ogni volta che viene eseguito loop(), se ci sono ancora lampeggi da fare, lampeggia una volta e sottraine uno.
int blinksLeft = 0;
void loop() {
// un numero dal monitor seriale imposta blinksLeft
if (blinksLeft > 0) {
// un lampeggio
blinksLeft = blinksLeft - 1;
}
}Quando blinksLeft raggiunge 0, if è falso e il LED rimane spento fino al numero successivo.
La nuova riga dopo il numero fa ancora sì che parseInt() restituisca 0 un secondo dopo. Ignora lo 0 come prima, altrimenti azzererebbe i lampeggi ancora da fare.
Sfida
MedioFai lampeggiare il LED sul pin 13 tante volte quante indicate dal numero digitato nel monitor seriale:
- quando ci sono caratteri in attesa, leggi un numero con
parseInt()e memorizzalo inblinksLeftse è maggiore di 0 - se
blinksLeftè maggiore di 0, fai lampeggiare una volta (200 ms acceso, 200 ms spento) e sottrai 1
Premi Run, invia 3 dal monitor seriale, poi premi Check.
Provalo tu
const int ledPin = 13;
int blinksLeft = 0;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// un numero dal monitor Serial imposta blinksLeft
// finché blinksLeft è maggiore di 0, fai lampeggiare una volta il LED e sottrai 1
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Ingressi
3Input seriale
Leggere un carattere serialeComandi a paroleVelocità di lampeggio da serialeLampeggiare su comandoEsercitati da solo: Playground Arduino