Lav dette 7-segment digitale ur med bip-alarmkredsløb

Lav dette 7-segment digitale ur med bip-alarmkredsløb

I dette indlæg skal vi konstruere et digitalt ur ved hjælp af 7-segment LED-skærm med Arduino-styret design.



VED:

Sådan fungerer kredsløbene

Det foreslåede 7 segment ur kredsløb er billigt, og selv nybegynder i Arduino kan udføre det med lethed. Dette ur består af fire 7 segment-skærme, to i timevis og to i minutter.



Skærmen er parret med IC 4026, som er designet til at køre 7 segmentskærme. Hver IC 4026 styres af Arduino.

Dette ur har en bip-alarmfunktion, der bipper hver eneste times tid, hvilket giver en grov ide om tiden uden at se på uret. Dette ur har ikke alarmfunktion.



Arduino-koden har ikke brug for noget specielt bibliotek til kompilering af programmet. Uret har et meget minimalistisk design, kun fire skærme og to lysdioder til AM / PM-indikator og ingen andre fancy funktioner end bip hver time.

Forfatterens prototype:

Testresultat af 7-segment digitalt ur

Her er en færdig prototype ved hjælp af pap og skrotmaterialer:

Designet:

Kredsløbet består af fire IC 4026 til styring af fire 7-segmentskærme og urets hjerne arduino. To pull down-modstande er forbundet til reset-pin på IC 4026 for at undgå utilsigtet reset på grund af statisk opladning. AM / PM indikator forbundet til arduino i kombination med 330 ohm strømbegrænsende modstand.

Bemærk: 220 ohm til 330 ohm modstand skal tilsluttes hvert segment af skærmen.

7-segment digitalt ur med bip-alarmkredsløb

Pin-konfiguration af IC 4026:

Pin-konfiguration af IC 4026

Bipperkredsløbet:

Bipperkredsløbet er bare en monostabil multivibrator designet med IC555. Når en negativ puls tilføres pin nr. 2 i IC555, bipper den omtrent i et sekund. Denne lydalarm hjælper brugeren med at holde en grov idé om tiden. Stift nr. 2 i IC555 skal forbindes til stift nr. 10 i arduino.

IC 555 summer kredsløb

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---------------//

Sådan indstilles tid:

At være meget minimalistisk design kan “reset-knappen” bruges til at indstille tid. Men brugeren skal indstille tiden ved hjælp af referenceuret. Brugeren skal nulstille arduinoen ved nøjagtigt 12'O ur. En dette gøres, uret opdaterer tiden alene.

Bemærk: Da det ovennævnte forklarede 7-segment digitale ur ved hjælp af Arduino ikke har 'realtidsurchip', for at opretholde nøjagtig tid, er der mulighed for, at tiden kan føre / forsinke på grund af ændringer i omgivelsestemperaturen.

For at rette op på dette er trinene:

• Hvis dit ur fører tiden til referenceuret med nogle få sekunder, skal det sænkes, noter forskellen og indtast værdien i programmet i millisekunder.

forsinkelse (2000) // fejlretning (varierer med temperaturen) Dette vil sænke nogle få sekunder hver time.

• Udskift 2000 med din værdi.

• Indstil 'forsinkelse (0) // fejlretning (varierer med tid)', hvis du udsætter uret, og foretager følgende ændringer 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)

Udskift 'forsinkelse (9700)' med din værdi for at fremskynde tiden hvert minut.

Disse trin garanterer ikke, at tiden altid vil være nøjagtig, men det hjælper med at opretholde tiden med minimal unøjagtighed. Det foreslåede design er 12 timers ur.




Forrige: Batteri fuldt opladet indikator kredsløb ved hjælp af to transistorer Næste: Corona Effect Generator