Indlægget forklarer, hvordan man laver et simpelt digitalt ur ved hjælp af Arduino og en 16 x 2 LCD-skærm.
Introduktion
Som elektronikentusiast på et tidspunkt ville vi have tænkt, hvordan man laver et digitalt ur, især hvem der er interesseret i området digital elektronik. I denne artikel skal vi se, hvordan man laver et digitalt ur, og designet er så simpelt, at en noob i Arduino kan udføre projektet uden hovedpine.
Dette digitale ur har kun to hovedkomponenter, Arduino og LCD-skærm . Arduino er urets hjerne, der udfører matematiske og logiske funktioner for at opdatere uret hvert sekund.
Prototype billede:
LCD-skærmen er en standard 16-pin-interface. Det har 16 rækker og 2 kolonner, det betyder, at det kan vise 16 ASCII-tegn i en række, og det har to kolonner, og det kaldes derfor 16x2-skærm.
Ledningsforbindelsen mellem LCD og Arduino er standard, og vi kan finde den samme type forbindelser i de fleste andre Arduino-LCD-baserede projekter.
Potentiometeret bruges til at justere displayets kontrast.
Brugeren skal indstille dette optimalt, så brugeren kan se de viste cifre / tegn korrekt under alle lysforhold.
Der er baggrundsbelysning, der gør det muligt for brugeren at se displayet i mørke situationer. Arduinoen kan drives eksternt fra jævnstrømsstik fra 7 volt til 12 volt.
Kredsløbsdiagram:
ARDUINO PROGRAMKODE:
// -------- Program udviklet af 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-------//
BEMÆRK: Ovenstående program er verificeret og fejlfrit. Hvis du får nogen advarsel eller fejl, skal du tilføje LiquidCrystal-biblioteket manuelt.
Tidsindstilling:
Der er to trykknapper en til indstilling af timer og en anden til indstilling i minutter. Hvis du trykker på en af dem, øges de tilsvarende cifre. For at indstille timer skal du trykke på hrs-knappen, indtil den korrekte tid vises, tilsvarende i minutter.
BEMÆRK:
· Hold knappen nede, mens du indstiller tiden, indtil den ønskede tid når. Et kort tryk på knappen ændrer muligvis ikke tiden.
· Hvert ciffer forøges kun sekund efter sekund, det er fordi hele programsløjfen er forsinket i 1 sekund.
· Sekunders ciffer går fra 01 til 60 og sløjfer igen og viser ikke '00' som traditionelt digitalt ur gør.
Forrige: Solar inverter til 1,5 ton klimaanlæg Næste: Enkel lodret akse-vindmøllegenerator kredsløb