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:
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:
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