Skaitmeninio laikrodžio grandinė naudojant 16 × 2 LCD ekraną

Išbandykite Mūsų Instrumentą, Kaip Pašalinti Problemas





Šiame įraše paaiškinta, kaip pasigaminti paprastą skaitmeninį laikrodį naudojant „Arduino“ ir 16 x 2 skystųjų kristalų ekraną.

Įvadas

Kaip elektronikos entuziastas tam tikrame etape galėtume pagalvoti, kaip pagaminti skaitmeninį laikrodį, ypač kurie domisi skaitmeninės elektronikos sritimi. Šiame straipsnyje mes pamatysime, kaip sukurti skaitmeninį laikrodį, o dizainas yra toks paprastas, kad „Arduino“ kampelis gali įgyvendinti projektą be galvos skausmo.



Šis skaitmeninis laikrodis turi tik du pagrindinius komponentus - „Arduino“ ir LCD ekranas . „Arduino“ yra laikrodžio smegenys, atliekančios matematines ir logines funkcijas, kad kas sekundę atnaujintų laikrodį.

Vaizdo prototipas:

laido jungtis tarp LCD ir „Arduino“

LCD ekranas yra standartinis 16 kontaktų sąsajos ekranas. Jame yra 16 eilučių ir 2 stulpeliai, tai reiškia, kad jis gali rodyti 16 ASCII simbolių iš eilės ir jis turi du stulpelius, todėl jis vadinamas 16x2 ekranu.



Laidinė jungtis tarp LCD ir „Arduino“ yra standartinė, ir panašaus tipo jungtis galime rasti daugumoje kitų „Arduino-LCD“ pagrįstų projektų.

Potenciometras naudojamas ekrano kontrastui reguliuoti.

Vartotojas turi tai nustatyti optimaliai, kad vartotojas galėtų tinkamai matyti rodomus skaitmenis / simbolius visose lengvose situacijose.

Yra apšvietimas, kuris leidžia vartotojui matyti ekraną tamsoje. „Arduino“ gali būti maitinamas iš nuolatinės srovės lizdo nuo 7 voltų iki 12 voltų.

Grandinės schema:

potenciometras naudojamas ekrano kontrastui reguliuoti.

ARDUINO PROGRAMOS KODAS:

// -------- Programą sukūrė 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-------//

PASTABA: Pirmiau nurodyta programa yra patikrinta ir be klaidų. Jei turite kokių nors įspėjimų ar klaidų, pridėkite „LiquidCrystal“ biblioteką rankiniu būdu.

Laiko nustatymas:

Yra du mygtukai, vienas nustatantis valandas, kitas - minučių nustatymą. Paspaudus bet kurį iš jų, padidės atitinkami skaitmenys. Norėdami nustatyti valandas, paspauskite mygtuką valandą, kol pasirodys teisingas laikas, panašiai kaip ir minutes.

PASTABA:

· Nustatydami laiką, laikykite nuspaustą mygtuką, kol pasieks norimą laiką. Trumpai paspaudus mygtuką, laikas gali nepasikeisti.

· Kiekvienas skaitmuo didinamas tik po sekundės po to, kai visa programos ciklas vėluoja 1 sekundę.

· Sekundės skaitmuo eina nuo 01 iki 60 ir vėl sukasi ir nebus rodomas „00“, kaip tai daro tradicinis skaitmeninis laikrodis.




Pora: Saulės keitiklis 1,5 tonos oro kondicionieriui Kitas: paprasta vertikalios ašies vėjo turbinų generatoriaus grandinė