Circuit de rellotge digital mitjançant pantalla LCD de 16 × 2

Proveu El Nostre Instrument Per Eliminar Problemes





El missatge explica com fer un rellotge digital senzill amb Arduino i una pantalla LCD de 16 x 2.

Introducció

Com a entusiasta de l'electrònica en una etapa, hauríem pensat com fer un rellotge digital, especialment els interessats en el camp de l'electrònica digital. En aquest article veurem com fer un rellotge digital i el disseny és tan senzill que un noob d’Arduino pot dur a terme el projecte sense cap mal de cap.



Aquest rellotge digital només té dos components principals, l’Arduino i Pantalla LCD . L'Arduino és el cervell del rellotge, que fa funcions matemàtiques i lògiques per actualitzar el rellotge cada segon.

Imatge del prototip:

connexió per cable entre la pantalla LCD i Arduino

La pantalla LCD és una pantalla estàndard amb interfície de 16 pins. Té 16 files i 2 columnes, això vol dir que pot mostrar 16 caràcters ASCII seguits i té dues columnes i per això s’anomena pantalla 16x2.



La connexió per cable entre la pantalla LCD i Arduino és estàndard i podem trobar el tipus de connexions similars a la majoria dels altres projectes basats en Arduino-LCD.

El potenciòmetre s’utilitza per ajustar el contrast de la pantalla.

L’usuari ha d’establir-ho de manera òptima perquè l’usuari pugui veure correctament els dígits / caràcters mostrats en totes les situacions de llum.

Hi ha llum de fons que permet a l’usuari veure la pantalla en una situació fosca. L'arduino es pot alimentar externament des de la presa de corrent continu de 7 a 12 volts.

Esquema de connexions:

el potenciòmetre s’utilitza per ajustar el contrast de la pantalla.

CODI DEL PROGRAMA ARDUINO:

// -------- Programa desenvolupat per 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: El programa anterior està verificat i lliure d'errors. En cas que tingueu algun avís o error, afegiu la biblioteca LiquidCrystal manualment.

Configuració de l'hora:

Hi ha dos polsadors: un per configurar les hores i un altre per configurar els minuts. Si premeu qualsevol dels dos, s'incrementaran els dígits corresponents. Per a les hores de configuració, premeu el botó hrs fins que es mostri l'hora correcta, de manera similar durant uns minuts.

NOTA:

· Mentre configureu el temps, mantingueu premut el botó fins que arribi el temps desitjat. Si premeu el botó momentàniament, no es pot canviar l'hora.

· Cada dígit s'incrementa només segon rere segon, això es deu al fet que tot el bucle del programa s'ha endarrerit 1 segon.

· El dígit dels segons va de 01 a 60 i torna a aparèixer i no es mostrarà '00' com fa el rellotge digital tradicional.




Anterior: inversor solar per a aire condicionat d’1,5 tones Següent: Circuit generador de turbines eòliques d’eix vertical simple