Menu
CoddyTech

Conta sul display

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

Con showDigit(), una cifra corrisponde a una chiamata di funzione. Un ciclo for può chiamarla a turno con ogni numero:

for (int n = 0; n <= 9; n++) {
  showDigit(n);
  delay(500);
}

La condizione stabilisce l’ultimo numero. n <= 9 arriva fino a 9 incluso; n < 9 si ferma a 8.

Inserisci il ciclo dentro loop() e, quando il conteggio termina, loop() viene eseguita di nuovo e il conteggio ricomincia da 0.

challenge icon

Sfida

Facile

showDigit() è pronta. Conta sul display:

  • mostra 0, 1, 2 e così via fino a 9
  • mantieni ogni numero acceso per 500 ms
  • dopo 9, ricomincia da 0

Premi Run per guardarlo contare, 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, da leggere 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
    }
  }
}

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

void loop() {
  // mostra le cifre da 0 a 9, per mezzo secondo ciascuna
}
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