Menu
CoddyTech

Conto alla rovescia fino a zero

Fa parte della sezione Display e sensori del percorso Arduino di Coddy. Lezione 4 di 24.

Come nella rotazione del servo, un ciclo for può contare alla rovescia: inizia da un valore alto, continua finché il numero è 0 o maggiore e sottrai uno ogni volta con n--:

for (int n = 5; n >= 0; n--) {
  showDigit(n);
  delay(1000);
}

Questo mostra 5, 4, 3, 2, 1 e 0. Con n > 0 si fermerebbe a 1 e non mostrerebbe mai 0.

Un conto alla rovescia dovrebbe avvenire una sola volta, non ripetersi continuamente. Il codice in setup() viene eseguito una volta, quindi inserisci lì il conto alla rovescia e ciò che deve accadere a 0 al termine. loop() può rimanere vuoto e 0 resta sul display.

challenge icon

Sfida

Facile

Il buzzer è collegato al pin 9. Crea un conto alla rovescia per il lancio:

  • in setup(), fai il conto alla rovescia da 5 a 0, un numero al secondo
  • allo 0, fai suonare il buzzer con tone(buzzerPin, 880, 1000)
  • lascia lo 0 sul display

Premi Run, poi Check.

Provalo tu

const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 8};  // a, b, c, d, e, f, g

// Un pattern per cifra, letto da destra: l'ultimo bit corrisponde al segmento a.
//                     gfedcba
const byte digits[10] = {
  0b0111111,  // 0
  0b0000110,  // 1
  0b1011011,  // 2
  0b1001111,  // 3
  0b1100110,  // 4
  0b1101101,  // 5
  0b1111101,  // 6
  0b0000111,  // 7
  0b1111111,  // 8
  0b1101111   // 9
};

void showDigit(int n) {
  for (int i = 0; i < 7; i++) {
    if (bitRead(digits[n], i) == 1) {
      digitalWrite(segmentPins[i], LOW);   // acceso
    } else {
      digitalWrite(segmentPins[i], HIGH);  // spento
    }
  }
}

const int buzzerPin = 9;

void setup() {
  for (int i = 0; i < 7; i++) {
    pinMode(segmentPins[i], OUTPUT);
  }

  // conta alla rovescia da 5 a 0 qui, poi fai suonare il buzzer
}

void loop() {
}
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 Display e sensori

Esercitati da solo: Playground Arduino