Digitális óra áramkör 16 × 2 LCD kijelzővel

Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére





A bejegyzés elmagyarázza, hogyan lehet egyszerű digitális órát készíteni az Arduino és egy 16 x 2 LCD kijelző használatával.

Bevezetés

Elektronikus rajongóként egy szakaszban azt gondoltuk volna, hogyan lehet digitális órát készíteni, különösen, akiket érdekel a digitális elektronika. Ebben a cikkben megnézzük, hogyan készíthetünk digitális órát, és a tervezés olyan egyszerű, hogy az arduinói noob minden fejfájás nélkül képes megvalósítani a projektet.



Ennek a digitális órának csak két fő eleme van, az Arduino és a LCD kijelzö . Az Arduino az óra agya, amely matematikai és logikai funkciókat hajt végre az óra másodpercenkénti frissítéséhez.

Kép prototípusa:

vezetékes kapcsolat az LCD és az Arduino között

Az LCD képernyő egy standard 16 tűs interfészes kijelző. 16 sora és 2 oszlopa van, ez azt jelenti, hogy 16 ASCII karaktert tud megjeleníteni egy sorban, és két oszlopa van, ezért hívják 16x2-es megjelenítésnek.



Az LCD és az Arduino közötti vezetékes kapcsolat alapfelszereltség, és hasonló típusú kapcsolatokat találhatunk a legtöbb többi Arduino-LCD alapú projektben.

A potenciométer a kijelző kontrasztjának beállítására szolgál.

A felhasználónak ezt optimálisan kell beállítania, hogy a felhasználó minden világos helyzetben megfelelően láthassa a megjelenített számokat / karaktereket.

Van egy háttérvilágítás, amely lehetővé teszi a felhasználó számára, hogy sötét helyzetben lássa a kijelzőt. Az arduino tápfeszültsége kívülről 7 és 12 volt közötti egyenáramú aljzatról táplálható.

Kördiagramm:

a potenciométer a kijelző kontrasztjának beállítására szolgál.

ARDUINO PROGRAM KÓD:

// -------- R.GIRISH által kidolgozott program ------- //
#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-------//

MEGJEGYZÉS: A fenti program ellenőrzött és hibamentes. Ha bármilyen figyelmeztetést vagy hibát észlel, kérjük, adja hozzá manuálisan a LiquidCrystal könyvtárat.

Idő beállítás:

Két nyomógomb van az egyik az órák beállításához, a másik pedig a percek beállításához. Bármelyik gomb megnyomásával növekszik a megfelelő számjegy. Az órák beállításához nyomja meg a gombot, amíg a helyes idő meg nem jelenik, hasonlóan percekig.

JEGYZET:

· Az idő beállítása közben tartsa lenyomva a gombot, amíg el nem éri a kívánt időt. A gomb pillanatnyi megnyomása nem változtathatja meg az időt.

· Minden számjegy csak másodperc után növekszik, ez azért van, mert a program teljes ciklusa 1 másodpercet késik.

· A másodpercek száma 01-ről 60-ra változik, és ismét körbekerül, és nem a „00” -t jeleníti meg, mint a hagyományos digitális óra.




Korábbi: Szolár inverter 1,5 tonnás légkondicionálóhoz Következő: Egyszerű függőleges tengelyű szélturbina generátor áramkör