Digitálny hodinový obvod využívajúci displej LCD 16 × 2

Vyskúšajte Náš Nástroj Na Odstránenie Problémov





Príspevok vysvetľuje, ako sa dajú vyrobiť jednoduché digitálne hodiny pomocou Arduina a 16 x 2 LCD displeja.

Úvod

Ako nadšenca elektroniky vo fáze by sme si mysleli, ako vyrobiť digitálne hodiny, najmä tých, ktorí sa zaujímajú o oblasť digitálnej elektroniky. V tomto článku sa pozrieme na to, ako vyrobiť digitálne hodiny, a dizajn je taký jednoduchý, že noob v Arduine dokáže projekt uskutočniť bez akejkoľvek bolesti hlavy.



Tieto digitálne hodiny majú iba dve hlavné súčasti, Arduino a displej LCD . Arduino je mozog hodín, ktorý vykonáva matematické a logické funkcie na aktualizáciu hodín každú sekundu.

Prototypový obrázok:

drôtové spojenie medzi LCD a Arduino

LCD obrazovka je štandardný 16-kolíkový displej s rozhraním. Má 16 riadkov a 2 stĺpce, čo znamená, že môže zobraziť 16 znakov ASCII v rade, má dva stĺpce a preto sa nazýva 16x2 displej.



Drôtové spojenie medzi LCD a Arduino je štandardné a podobný druh spojenia nájdeme vo väčšine ostatných projektov založených na Arduino-LCD.

Potenciometer slúži na nastavenie kontrastu displeja.

Užívateľ to musí nastaviť optimálne, aby mohol užívateľ správne vidieť zobrazené číslice / znaky vo všetkých svetelných situáciách.

K dispozícii je podsvietenie, ktoré umožňuje používateľovi vidieť na displej počas tmavej situácie. Arduino môže byť napájané externe z jednosmerného konektora od 7 voltov do 12 voltov.

Schéma zapojenia:

potenciometer slúži na nastavenie kontrastu displeja.

KÓD PROGRAMU ARDUINO:

// -------- Program vyvinutý spoločnosťou 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-------//

POZNÁMKA: Vyššie uvedený program je overený a bezchybný. V prípade, že sa vám zobrazí nejaké varovanie alebo chyba, pridajte knižnicu LiquidCrystal ručne.

Nastavenie času:

K dispozícii sú dve tlačidlá, jedno na nastavenie hodín a druhé na nastavenie minút. Stlačením ktoréhokoľvek z nich sa zvýšia príslušné číslice. Pre nastavenie hodín stlačte tlačidlo hodiny, kým sa nezobrazí správny čas, podobne aj pre minúty.

POZNÁMKA:

· Počas nastavovania času držte stlačené tlačidlo, kým nedosiahne požadovaný čas. Krátkym stlačením tlačidla sa nemusí zmeniť čas.

· Každá číslica sa zvyšuje iba sekundu po sekunde, je to preto, lebo celá slučka programu sa oneskorila o 1 sekundu.

· Číslice sekúnd sa pohybujú od 01 do 60 a znova sa slučkujú a nezobrazia „00“ ako tradičné digitálne hodiny.




Dvojica: Solárny invertor pre 1,5 tonovú klimatizáciu Ďalej: Obvod generátora veterných turbín s jednoduchou vertikálnou osou