Digital klockkrets med 16 × 2 LCD-skärm

Prova Vårt Instrument För Att Eliminera Problem





Inlägget förklarar hur man gör en enkel digital klocka med Arduino och en 16 x 2 LCD-skärm.

Introduktion

Som elektronikentusiast i ett skede skulle vi ha tänkt hur man skapar en digital klocka, särskilt de som är intresserade av digital elektronik. I den här artikeln ska vi se hur man gör en digital klocka och designen är så enkel att en noob i Arduino kan utföra projektet utan huvudvärk.



Denna digitala klocka har bara två huvudkomponenter, Arduino och LCD skärm . Arduino är klockans hjärna, som gör matematiska och logiska funktioner för att uppdatera klockan varje sekund.

Prototypbild:

trådanslutning mellan LCD och Arduino

LCD-skärmen är en standard 16-stifts gränssnittsskärm. Den har 16 rader och 2 kolumner, det betyder att den kan visa 16 ASCII-tecken i rad och den har två kolumner och det är därför den kallas 16x2-display.



Trådanslutningen mellan LCD och Arduino är standard och vi kan hitta liknande slags anslutningar i de flesta andra Arduino-LCD-baserade projekt.

Potentiometern används för att justera skärmens kontrast.

Användaren måste ställa in detta optimalt så att användaren kan se de visade siffrorna / tecknen ordentligt under alla ljusförhållanden.

Det finns bakgrundsbelysning som gör att användaren kan se skärmen under mörka situationer. Arduino kan drivas externt från DC-uttaget från 7 volt till 12 volt.

Kretsschema:

potentiometer används för att justera skärmens kontrast.

ARDUINO PROGRAMKOD:

// -------- Program utvecklat av 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-------//

OBS! Ovanstående program är verifierat och felfritt. Om du får några varningar eller fel, lägg till LiquidCrystal-biblioteket manuellt.

Tidsinställning:

Det finns två tryckknappar en för att ställa in timmar och en annan för att ställa in minuter. Om du trycker på någon av dem ökar motsvarande siffror. För att ställa in timmar, tryck på hr-knappen tills rätt tid visas, på samma sätt i minuter.

NOTERA:

· Håll knappen intryckt medan tiden ställs in tills önskad tid når. Att trycka på knappen en kort stund kanske inte ändrar tiden.

· Varje siffra ökas bara sekund efter sekund, detta beror på att hela programslingan fördröjs med 1 sekund.

· Sekundernas siffra går från 01 till 60 och slingrar igen och visar inte '00' som traditionell digital klocka gör.




Tidigare: Solar Inverter för 1,5 ton luftkonditionering Nästa: Enkel vertikal axel vindkraftgenerator krets