Post objašnjava kako izraditi jednostavan digitalni sat pomoću Arduina i LCD zaslona 16 x 2.
Uvod
Kao zaljubljenici u elektroniku u fazi bismo pomislili kako napraviti digitalni sat, posebno one koji su zainteresirani za područje digitalne elektronike. U ovom ćemo članku vidjeti kako napraviti digitalni sat, a dizajn je toliko jednostavan da noob u Arduinu može realizirati projekt bez ikakvih glavobolja.
Ovaj digitalni sat ima samo dvije glavne komponente, Arduino i LCD zaslon . Arduino je mozak sata koji vrši matematičke i logičke funkcije za ažuriranje sata svake sekunde.
Slika prototipa:
LCD zaslon je standardni 16-pinski spojeni zaslon. Ima 16 redaka i 2 stupca, to znači da može prikazati 16 ASCII znakova u nizu i ima dva stupca i zato se naziva prikaz 16x2.
Žičana veza između LCD-a i Arduina standardna je i slične vrste veza možemo pronaći u većini drugih projekata temeljenih na Arduino-LCD-u.
Potenciometar se koristi za podešavanje kontrasta zaslona.
Korisnik to mora postaviti optimalno kako bi korisnik mogao pravilno prikazati prikazane znamenke / znakove u svim svjetlosnim situacijama.
Postoji pozadinsko osvjetljenje koje omogućava korisniku da vidi zaslon tijekom mračne situacije. Arduino se može napajati izvana iz DC priključka od 7 do 12 volti.
Kružni dijagram:
ARDUINO KOD PROGRAMA:
// -------- Program razvio 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-------//
NAPOMENA: Gornji program je ovjeren i bez grešaka. U slučaju da dobijete upozorenje ili pogrešku, dodajte knjižnicu LiquidCrystal ručno.
Postavljanje vremena:
Postoje dvije tipke, jedna za podešavanje sati i druga za podešavanje minuta. Pritiskom na bilo koju od njih povećat će se odgovarajuće znamenke. Za podešavanje sati pritisnite tipku hrs dok se ne prikaže točno vrijeme, slično minutama.
BILJEŠKA:
· Tijekom podešavanja vremena držite pritisnutu tipku dok ne dosegne željeno vrijeme. Kratko pritiskanje tipke možda neće promijeniti vrijeme.
· Svaka se znamenka povećava samo sekundu za sekundom, jer je cijela petlja programa odgođena za 1 sekundu.
· Znamenka sekunde kreće se od 01 do 60 i ponovno se petlja i neće prikazivati '00' kao tradicionalni digitalni sat.
Prethodno: Solarni pretvarač za klima uređaj od 1,5 tone Dalje: Jednostavni krug generatora vjetroagregata okomite osi