Ecco un esempio di codice Arduino per un timer con un display a 1 cifra. In questo esempio, il timer conta da 0 a 9 e si ripete ciclicamente. Il display a 7 segmenti è collegato ai pin digitali 2-9 di Arduino.
// Dichiarazione dei pin del display a 7 segmenti
const int segmentPins[] = {2, 3, 4, 5, 6, 7, 8, 9};
// Variabile per tenere traccia del valore corrente del timer
int timerValue = 0;
void setup() {
// Inizializzazione dei pin del display come OUTPUT
for (int i = 0; i < 8; i++) {
pinMode(segmentPins[i], OUTPUT);
}
}
void loop() {
// Visualizza il valore corrente del timer sul display
displayNumber(timerValue);
// Incrementa il timer
timerValue++;
// Ripristina il timer a 0 quando raggiunge 10
if (timerValue == 10) {
timerValue = 0;
}
// Attendi 1 secondo
delay(1000);
}
void displayNumber(int number) {
// Mappa i segmenti necessari per visualizzare il numero
const byte numbers[][8] = {
{1, 1, 1, 1, 1, 1, 0, 0}, // 0
{0, 1, 1, 0, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1, 0}, // 2
{1, 1, 1, 1, 0, 0, 1, 0}, // 3
{0, 1, 1, 0, 0, 1, 1, 0}, // 4
{1, 0, 1, 1, 0, 1, 1, 0}, // 5
{1, 0, 1, 1, 1, 1, 1, 0}, // 6
{1, 1, 1, 0, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1, 0}, // 8
{1, 1, 1, 1, 0, 1, 1, 0} // 9
};
// Mostra il numero sul display
for (int i = 0; i < 8; i++) {
digitalWrite(segmentPins[i], numbers[number][i]);
}
}
Assicurati di collegare correttamente il display a 7 segmenti ai pin digitali 2-9 di Arduino o aggiorna i pin nel codice se necessario. Questo codice utilizza un delay di 1 secondo tra ogni incremento del timer, quindi il timer si aggiornerà ogni secondo.