In questo progetto ti mostro come realizzare tu stesso un orologio Arduino
Con questo orologio Arduino puoi vedere la data e l'ora.
In questo progetto utilizziamo uno schermo LCD 16×2, un modulo orologio in tempo reale e un potenziometro. L'orologio in tempo reale (d'ora in poi RTC) è in realtà un orologio ma in forma elettronica. Se Arduino perde potenza, l'RTC continua a funzionare perché quindi funziona con una piccola batteria. In questo modo può tenere traccia del tempo per 7 anni. Ciò è particolarmente utile se si desidera eseguire l'orologio Arduino con una batteria. Se la batteria si esaurisce, non è sempre necessario impostare correttamente l'ora. Usiamo il potenziometro per cambiare la luminosità dello schermo LCD.
- Livello – Intermedio 45%
- Durata – 40/60 Min 45%
- Costi – € 48.85 euro completo 30%
Passaggio 1: forniture
Passaggio 2: costruisci e cabla
Ora costruiamo il progetto
Inizieremo saldando le intestazioni dei pin all'RTC. Fallo secondo le immagini qui sotto. Se guardi da vicino puoi vedere che ho messo l'RTC sottosopra sul paneboard hanno posizionato. L'ho fatto in modo che stia meglio sul paneboard si adatta perché le mie intestazioni dei pin non erano abbastanza lunghe. Devi vedere di persona cosa trovi più facile. Assicurarsi di utilizzare le connessioni corrette sull'RTC.
Dopo aver saldato le intestazioni dei pin, è possibile posizionare i componenti secondo il disegno. Quindi puoi iniziare a cablare i componenti e Arduino.
È importante collegare i componenti corretti ai pin Arduino corretti, altrimenti il codice non funzionerà!
RTC -> Arduino Uno
SCL -> pin A5
SDA -> pin A4
VCC -> 5V
GND -> GND
LCD -> Arduino Uno
VSS -> GND
VDD -> 5V
VO -> segnale potenziometro
RS -> pin 12
RW -> GND
E -> pin 11
D4 -> pin 5
D5 -> pin 4
D6 -> pin 3
D7 -> pin 2
A -> 5V
K -> GND
Passaggio 3: programmazione
Ora che hai finito di cablare e costruire il tuo allarme Arduino, puoi iniziare a programmare il Arduino Uno.
Per questo codice abbiamo anche bisogno di aggiungere una libreria.
Un file Libreria o Include spesso contiene codice che può essere spesso riutilizzato in altri schizzi. Le biblioteche sono spesso una raccolta di funzioni correlate finalizzate a una particolare applicazione. Ad esempio per controllare una striscia con LED, funzioni matematiche speciali o ad esempio per controllare uno schermo LCD.
Usiamo la libreria per l'RTC, altrimenti non saprà cosa fare.
Scarica la Biblioteca qui
Per aggiungere la Libreria all'IDE dobbiamo copiare o spostare la cartella RTC nella cartella delle librerie.
questa cartella si trova normalmente in C:\Utenti\(nome)\Documenti\Arduino\librerie
È quindi possibile copiare e incollare completamente il codice seguente nell'IDE di Arduino.
Carica il codice su Arduino Uno e vedi se funziona.
Se tutto va bene, lo schermo LCD si accende e mostra la data e l'ora corrette.
Con il potenziometro è possibile modificare la luminosità dello schermo LCD.
Se lo schermo LCD è acceso ma non indica nulla, è necessario ruotare il potenziometro a sinistra oa destra.
Ora copia il codice qui sotto nel tuo programma Arduino, ti consigliamo di copiarlo tu stesso mentre impari di più da esso.
#includere
#includere // assicurati di mettere la cartella RTC nella cartella delle librerie corretta
#includere
RTC_DS1307 RTC;
cost int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LCD a cristalli liquidi (rs, en, d4, d5, d6, d7);
void setup() {
Serial.begin (9600);
Wire.begin ();
RTC.inizio();
lcd.inizio(16, 2);
// la frase successiva sposta l'ora dall'RTC all'ora in cui questo codice viene caricato su Arduino
RTC.adjust(DateTime(_DATE, __TIME_));
}
ciclo vuoto () {
DateTime adesso = RTC.now();
lcd.setCursor(4,0);
lcd.print(ora.giorno(), DEC);
lcd.print('/');
lcd.print(ora.mese(), DEC);
lcd.print('/');
lcd.print(ora.anno(), DEC);
lcd.print(' ');
lcd.setCursor(4,1);
lcd.print(ora.ora(), DEC);
lcd.print(':');
lcd.print(ora.minuto(), DEC);
lcd.print(':');
lcd.print(ora.secondo(), DEC);
lcd.print(' ');
ritardo (1000);
}
Spero che tu sia riuscito a realizzare l'orologio di Arduino!
Un altro commento che voglio aggiungere a questo progetto: il fatto che carichi sempre l'RTC con una vecchia data quando spegni e riaccendi l'installazione è ovviamente estremamente strano, perché hai bisogno di una batteria di backup. Dovresti quindi assolutamente rimuovere il caricamento di quella data se vuoi utilizzare normalmente l'orologio. In realtà devi progettare un meccanismo per impostare l'orologio. L'ho fatto con un cosiddetto encoder rotazionale, ma puoi anche collegare alcuni pulsanti al tuo arduino.
Il giorno dopo l'ho riacceso e si è rivelato funzionante. Forse ci è voluto un po' per abituarsi. Il tempo è ora indietro di 15 ore.
ciao Jan,
Grazie per la risposta. Puoi caricare di nuovo il codice? L'ora corrente viene quindi caricata di nuovo su Arduino.
Buona fortuna con il progetto!
Voglio dire, non vedo ancora l'ora sul display.
Non è così che funziona il codice, per cominciare non dovresti usare virgolette strane (virgolette aperte e chiuse) che appartengono a un word processor con le istruzioni di stampa. Quindi le virgolette qui dovrebbero essere tutte sostituite da normali virgolette ascii. Inoltre, funziona RTC.adjust(DateTime(_DATE, __TIME_)); né, dovrebbe essere (__DATE__ , __TIME__).
Ora l'ho costruito e ci ho inserito il programma, ma vedo ancora un'ora sul display.