Menu
CoddyTech

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.

challenge icon

Sfida

Medio

Fai 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 in blinksLeft se è 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
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Ingressi

Esercitati da solo: Playground Arduino