Digitalt urkredsløb ved hjælp af 16 × 2 LCD-skærm

Prøv Vores Instrument Til At Fjerne Problemer





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:

ledningsforbindelse mellem LCD og Arduino

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:

potentiometer bruges til at justere displayets kontrast.

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