- Materiale richiesto
- Schema del circuito del timer per il conto alla rovescia di Arduino
- Codice e spiegazione del timer per il conto alla rovescia di Arduino
Un timer è un tipo di orologio utilizzato per la misurazione degli intervalli di tempo. Esistono due tipi di timer, uno che conta verso l'alto da zero, per la misurazione del tempo trascorso, chiamato Cronometro. Inoltre, il secondo effettua il conto alla rovescia da una durata di tempo specificata fornita dall'utente, generalmente chiamata Countdown Timer.
Qui, in questo tutorial ti mostreremo come creare un conto alla rovescia usando Arduino. Qui non stiamo usando alcun modulo RTC (Real Time Clock) per ottenere l'ora. La durata è fornita dall'utente con l'ausilio della tastiera e del display LCD 16x2. E quando il timer raggiunge lo zero, verrà prodotto un suono di avviso con l'aiuto di Buzzer.
Materiale richiesto
- Arduino UNO
- LCD 16 * 2
- Tastiera a matrice 4 * 4
- Cicalino
- Premi il bottone
- Potenziometro (10k)
- Resistenza (10k, 100 ohm)
- Cavi di collegamento
Schema del circuito del timer per il conto alla rovescia di Arduino
Arduino Uno viene utilizzato qui come controller principale. Una tastiera viene utilizzata per alimentare la durata del tempo e un LCD 16 * 2 viene utilizzato per visualizzare il conto alla rovescia. Il pulsante viene utilizzato per avviare il tempo. Controlla qui come interfacciare la tastiera 4x4 con Arduino e LCD 16x2 con Arduino.
Codice e spiegazione del timer per il conto alla rovescia di Arduino
Alla fine di questo progetto viene fornito il codice completo del timer Arduino.
In questo codice sottostante, inizializziamo le librerie per la tastiera e il display LCD e le variabili utilizzate nel codice.
#includere
Ora, nel codice seguente stiamo inizializzando il no. di righe e colonne per la definizione della matrice per tastiera.
const byte ROWS = 4; // Quattro righe const byte COLS = 4; // Tre colonne char keys = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', ' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}};
Per collegare la tastiera a matrice 4 * 4 con Arduino dobbiamo definire i pin per le righe e le colonne. Quindi nel codice sottostante abbiamo definito i pin per la tastiera e l'LCD 16x2.
byte rowPins = {6, 7, 8, 9}; // Collega la tastiera ROW0, ROW1, ROW2 e ROW3 a questi pin Arduino byte colPins = {10, 11, 12, 13}; // Collega la tastiera COL0, COL1 e COL2 sul display LCD LiquidCrystal (A0, A1, 5, 4, 3, 2); // Crea un oggetto LC. Parametri: (rs, enable, d4, d5, d6, d7)
Il codice seguente viene utilizzato per creare la tastiera, Keypad kpd = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS);
Nel codice funzione void setFeedingTime () , dopo aver premuto il pulsante siamo in grado di inserire il tempo per il timer, quindi dopo aver inserito la durata del timer, dobbiamo premere D per iniziare il conto alla rovescia.
void setFeedingTime () {feed = true; int i = 0; lcd.clear (); lcd.setCursor (0,0); lcd.print ("Imposta ora alimentazione"); lcd.clear (); lcd.print ("HH: MM: SS"); lcd.setCursor (0,1); while (1) {key = kpd.getKey (); char j; if (key! = NO_KEY) {lcd.setCursor (j, 1); lcd.print (chiave); r = chiave-48; i ++; j ++; if (j == 2 - j == 5) {lcd.print (":"); j ++; } ritardo (500); } if (key == 'D') {key = 0; rompere; }} lcd.clear (); }
Nella funzione void setup () , abbiamo inizializzato l'LCD e la comunicazione seriale e definito i pin come INPUT e OUTPUT nel codice seguente.
void setup () {lcd.begin (16,2); Serial.begin (9600); pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A3, INPUT); pinMode (A4, OUTPUT); }
Il funzionamento di questo timer per il conto alla rovescia di Arduino è semplice ma il codice è un po 'complesso. Il codice è spiegato dai commenti nel codice.
Inizialmente, stamperà "Arduino Timer" sul display LCD fino a quando non si preme il pulsante. Non appena si preme il pulsante, verrà chiesto di inserire la durata del conto alla rovescia chiamando la funzione “ setFeedingTime ”. Quindi è possibile inserire la durata del tempo con l'aiuto della tastiera. Quindi è necessario premere "D" per risparmiare tempo e avviare il conto alla rovescia. Qui nella funzione void loop () , abbiamo eseguito alcuni calcoli per diminuire l'ora secondo per secondo e per mostrare i valori corretti di ora, minuti e secondi (HH: MM: SS) in base al tempo rimanente. Tutto il codice è ben spiegato dai commenti. Puoi controllare il codice completo e il video dimostrativo di seguito.
Quando il timer raggiunge lo zero, il cicalino inizia a suonare e emette solo 100 segnali acustici (come da codice). Per interrompere il cicalino, tenere premuto il pulsante. È possibile utilizzare il pulsante in qualsiasi momento per interrompere il timer tra un conteggio e l'altro.