Lag denne 7-segment digitale klokken med signal om alarmsignaler

Prøv Instrumentet Vårt For Å Eliminere Problemer





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:

Testresultat av 7 segment digital klokke

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.

7-segment digital klokke med pipevarslingskrets

Pin-konfigurasjon av IC 4026:

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.

IC 555 summer krets

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