Circuito dell'orologio digitale con display LCD 16 × 2

Prova Il Nostro Strumento Per Eliminare I Problemi





Il post spiega come realizzare un semplice orologio digitale utilizzando Arduino e un display LCD 16 x 2.

introduzione

Come appassionato di elettronica in una fase avremmo pensato a come realizzare un orologio digitale, soprattutto a chi è interessato al campo dell'elettronica digitale. In questo articolo vedremo come realizzare un orologio digitale e il design è così semplice che un noob in Arduino può realizzare il progetto senza alcun mal di testa.



Questo orologio digitale ha solo due componenti principali, Arduino e display LCD . Arduino è il cervello dell'orologio, che esegue funzioni matematiche e logiche per aggiornare l'orologio ogni secondo.

Immagine prototipo:

collegamento a filo tra il display LCD e Arduino

Lo schermo LCD è un display interfacciato standard a 16 pin. Ha 16 righe e 2 colonne, questo significa che può visualizzare 16 caratteri ASCII in una riga e ha due colonne ed è per questo che è chiamato display 16x2.



La connessione via cavo tra LCD e Arduino è standard e possiamo trovare il tipo simile di connessioni nella maggior parte degli altri progetti basati su Arduino-LCD.

Il potenziometro viene utilizzato per regolare il contrasto del display.

L'utente deve impostarlo in modo ottimale in modo che l'utente possa vedere correttamente le cifre / caratteri visualizzati in tutte le situazioni di luce.

C'è la retroilluminazione che consente all'utente di vedere il display in situazioni di oscurità. L'arduino può essere alimentato esternamente da jack DC da 7 volt a 12 volt.

Schema elettrico:

il potenziometro viene utilizzato per regolare il contrasto del display.

CODICE DEL PROGRAMMA ARDUINO:

// -------- Programma sviluppato da R.GIRISH ------- //
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int h=12
int m
int s
int flag
int TIME
const int hs=8
const int ms=9
int state1
int state2
void setup()
{
lcd.begin(16,2)
}
void loop()
{
lcd.setCursor(0,0)
s=s+1
lcd.print('TIME:' )
lcd.print(h)
lcd.print(':')
lcd.print(m)
lcd.print(':')
lcd.print(s)
if(flag<12) lcd.print(' AM')
if(flag==12) lcd.print(' PM')
if(flag>12) lcd.print(' PM')
if(flag==24) flag=0
delay(1000)
lcd.clear()
if(s==60) {
s=0
m=m+1
}
if(m==60)
{
m=0
h=h+1
flag=flag+1
}
if(h==13)
{
h=1
}
lcd.setCursor(0,1)
lcd.print('HAVE A NICE DAY')
//-----------Time setting----------//
state1=digitalRead(hs)
if(state1==1)
{
h=h+1
flag=flag+1
if(flag<12) lcd.print(' AM')
if(flag==12) lcd.print(' PM')
if(flag>12) lcd.print(' PM')
if(flag==24) flag=0
if(h==13) h=1
}
state2=digitalRead(ms)
if(state2==1) {
s=0
m=m+1
}
}
//-------- Program developed by R.GIRISH-------//

NOTA: il programma precedente è verificato e privo di errori. In caso di avvisi o errori, aggiungi manualmente la libreria LiquidCrystal.

Impostazioni orario:

Sono presenti due pulsanti uno per l'impostazione delle ore e un altro per l'impostazione dei minuti. Premendo uno dei due si incrementeranno le cifre corrispondenti. Per impostare le ore premere il pulsante hrs finché non viene visualizzata l'ora corretta, analogamente per i minuti.

NOTA:

· Mentre si imposta l'ora, tenere premuto il pulsante fino a raggiungere l'ora desiderata. La pressione momentanea del pulsante potrebbe non modificare l'ora.

· Ogni cifra viene incrementata solo secondo dopo secondo, questo perché l'intero ciclo del programma è ritardato di 1 secondo.

· La cifra dei secondi va da 01 a 60 e si ripete e non visualizza '00' come fa l'orologio digitale tradizionale.




Precedente: Inverter solare per condizionatore d'aria da 1,5 tonnellate Avanti: Circuito generatore eolico ad asse verticale semplice