Naredite to 7-segmentno digitalno uro z vezjem za opozorilni signal

Preizkusite Naš Instrument Za Odpravo Težav





V tem prispevku bomo izdelali digitalno uro z uporabo 7-segmentnega LED zaslona z Arduino nadzorovanim dizajnom.

PO:



Kako delujejo vezja

Predlagano sedemsegmentno urno vezje je poceni in celo začetnik v Arduinu ga lahko doseže z lahkoto. Ta ura je sestavljena iz štirih 7-segmentnih zaslonov, dveh za ure in dva za minute.

Zaslon je seznanjen z IC 4026, ki je zasnovan za vožnjo 7-segmentnih zaslonov. Vsako IC 4026 nadzoruje Arduino.



Ta ura ima funkcijo opozorilnega piska, ki zapiska vsak začetek ure in daje okvirno predstavo o času, ne da bi pogledal uro. Ta ura nima funkcije alarma.

Koda Arduino ne potrebuje posebne knjižnice za sestavljanje programa. Ura je zelo minimalistično zasnovana, ima le štiri zaslone in dve LED-diodi za indikator AM / PM in nobene modne funkcije razen piskanja vsako uro.

Avtorjev prototip:

Rezultat testa 7-segmentne digitalne ure

Tu je dokončan prototip z uporabo kartona in ostankov:

Dizajn:

Vezje je sestavljeno iz štirih IC 4026 za nadzor štirih 7-segmentnih zaslonov in možganov ure arduino. Dva izvlečna upora se povežeta s ponastavitvenim zatičem IC 4026, da se izognete nenamerni ponastavitvi zaradi statičnega naboja. Indikator AM / PM priključen na arduino v kombinaciji z 330 ohmskim omejevalnim uporom.

Opomba: Na vsake segmente zaslona je treba priključiti upor od 220 do 330 ohmov.

7-segmentna digitalna ura z vezjem za pisk

Konfiguracija zatiča IC 4026:

Konfiguracija zatiča IC 4026

Zvočni signal:

Zvočno vezje je samo monostabilen multivibrator, zasnovan z uporabo IC555. Ko se negativni impulz napaja na zatič št. 2 IC555, približno eno sekundo zapiska. To zvočno opozorilo uporabniku pomaga, da si približno predstavlja čas. Zatič št. 2 IC555 mora biti povezan z zatičem št. 10 arduina.

Elektronsko vezje IC 555

Koda programa:

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

Kako nastaviti čas:

Kot zelo minimalističen dizajn lahko z gumbom za ponastavitev določite čas. Uporabnik pa mora čas nastaviti s pomočjo referenčne ure. Uporabnik mora ponastaviti arduino natančno na uro 12'O. Ko to storite, ura sama posodablja čas.

Opomba: Ker zgoraj razložena 7-segmentna digitalna ura, ki uporablja Arduino, nima “čipa ure v realnem času”, zaradi vzdrževanja natančnega časa obstaja možnost, da čas lahko vodi / zaostaja zaradi spremembe temperature okolice.

To popravimo tukaj:

• Če vaša ura pripelje čas referenčne ure za nekaj sekund, jo je treba upočasniti, zapišite razliko in vnesite vrednost v program v milisekundah.

delay (2000) // odpravljanje napak (spreminja se glede na temperaturo) To bo upočasnilo nekaj sekund vsako uro.

• 2000 zamenjajte s svojo vrednostjo.

• Če zakasnite z uro, nastavite »delay (0) // fixing error (odvisno od časa)« in v programu naredite naslednje spremembe:

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)

Zamenjajte »delay (9700)« s svojo vrednostjo, da pospešite čas vsako minuto.

Ti koraki ne zagotavljajo, da bo čas vedno natančen, vendar pomaga ohranjati čas z minimalno netočnostjo. Predlagana zasnova je 12-urna ura.




Prejšnja: Indikator polnega polnjenja akumulatorja z dvema tranzistorjema Naprej: Generator Corona Effect