I dette innlegget skal vi konstruere en digital klokke ved hjelp av 7-segment LED-skjerm med Arduino-kontrollert design.
AV:
Hvordan kretsene fungerer
Den foreslåtte 7-segment klokkekretsen er billig, og til og med nybegynnere i Arduino kan oppnå det enkelt. Denne klokken består av fire 7-segmentdisplayer, to i timer og to i minutter.
Skjermen er paret med IC 4026 som er designet for å kjøre 7 segmentdisplayer. Hver IC 4026 styres av Arduino.
Denne klokken har en pipevarselfunksjon, som piper hver begynnelse av timen, og gir en grov ide om tid uten å se på klokken. Denne klokken har ikke alarmfunksjon.
Arduino-koden trenger ikke noe spesielt bibliotek for å kompilere programmet. Klokken har veldig minimalistisk design, bare fire skjermer og to lysdioder for AM / PM-indikator og ingen fancy funksjoner annet enn å pippe hver time.
Forfatterens prototype:
Her er en ferdig prototype som bruker papp og skrap:
Designet:
Kretsen består av fire IC 4026 for å kontrollere fire 7-segment skjermer og hjernen til klokken arduino. To nedtrekkbare motstander er koblet til tilbakestillingsstiftet på IC 4026 for å unngå utilsiktet tilbakestilling på grunn av statisk ladning. AM / PM-indikator koblet til arduino i kombinasjon med 330 ohm strømbegrensende motstand.
Merk: 220 ohm til 330 ohm motstand skal kobles til hvert segment av skjermen.
Pin-konfigurasjon av IC 4026:
Bipperkretsen:
Bipperkretsen er bare en monostabil multivibrator designet med IC555. Når en negativ puls mates til pinne nr. 2 i IC555, piper den omtrent i ett sekund. Denne lydvarslingen hjelper brukeren til å holde en grov ide om tiden. Pinnen nr. 2 på IC555 skal kobles til pinne nr. 10 på arduino.
Programkode:
//---------Program developed by R.Girish---------------//
int mint=13
int hrs=11
int beep=10
int rst=8 // reset to mint ic.
int rsth=9 //reset to hrs ic.
int am=7
int pm=6
int y=0
int t=0
int x=0
void setup()
{
pinMode(beep,OUTPUT)
pinMode(hrs,OUTPUT)
pinMode(am,OUTPUT)
pinMode(pm,OUTPUT)
pinMode(mint,OUTPUT)
pinMode(rst,OUTPUT)
pinMode(rsth,OUTPUT)
}
void loop()
{
digitalWrite(beep,1)
digitalWrite(13,0)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
digitalWrite(13,1)
t=t+1
if(t==60)
{
digitalWrite(rst,1)
digitalWrite(rst,0)
digitalWrite(hrs,1)
digitalWrite(hrs,0)
digitalWrite(beep,0)
digitalWrite(beep,1)
x=x+1
y=y+1
t=0
delay(2000) // error fixing (varies with temperature)
}
if(x==13) // display 1'O clock after 12'O clock.
{
digitalWrite(rsth,1)
digitalWrite(rsth,0)
digitalWrite(hrs,1)
digitalWrite(hrs,0)
x=1
}
if(y<12)
{
digitalWrite(am,1)
digitalWrite(pm,0)
}
if(y>=12)
{
digitalWrite(pm,1)
digitalWrite(am,0)
}
if(y==24) y=0
}
//---------Program developed by R.Girish---------------//
Hvordan stille inn tid:
Å være veldig minimalistisk design, kan 'reset-knappen' brukes til å stille tid. Men brukeren må stille inn tiden ved hjelp av referanseklokke. Brukeren må tilbakestille arduinoen med nøyaktig 12’O-klokke. En dette er gjort klokken oppdaterer tiden på egenhånd.
Merk: Siden den ovenfor forklarte 7-segment digitale klokken med Arduino ikke har 'sanntidsklokkebrikke', for å opprettholde nøyaktig tid, er det mulighet for at tiden kan føre / forsinke på grunn av endring i omgivelsestemperaturen.
For å rette på dette er trinnene:
• Hvis klokken din fører referanseklokken med noen få sekunder, må den reduseres, noter differansen og skriv inn verdien i programmet i millisekunder.
forsinkelse (2000) // feilretting (varierer med temperatur) Dette vil redusere noen få sekunder hver time.
• Erstatt 2000 med verdien.
• Hvis du klokker, still inn “forsinkelse (0) // feilretting (varierer med tid)” og gjør følgende endringer i programmet:
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
to
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(10000)
delay(9700)
Erstatt “forsinkelse (9700)” med verdien for å øke hastigheten på tiden hvert minutt.
Disse trinnene garanterer ikke at tiden alltid vil være nøyaktig, men det hjelper å opprettholde tiden med minimal unøyaktighet. Den foreslåtte utformingen er 12 timers klokke.
Forrige: Indikatorkrets for fulladet batterilading ved bruk av to transistorer Neste: Corona Effect Generator