Tehke see 7-segmendiline helisignaali ahelaga digitaalkell

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Selles postituses ehitame digitaalse kella, kasutades 7 segmendi LED-ekraani, millel on Arduino juhitav disain.

KÕRVAL:



Kuidas vooluringid töötavad

Kavandatud seitsme segmendiga kellaahel on odav ja isegi algaja Arduinos saab seda hõlpsasti täita. See kell koosneb neljast 7 segmendinäidikust, kahest tundide ja kahe minutite kaupa.

Ekraan on ühendatud IC 4026-ga, mis on mõeldud 7 segmendiga kuvarite juhtimiseks. Iga IC 4026 juhib Arduino.



Sellel kellal on piiksu hoiatusfunktsioon, mis piiksub igal tunni algul, andes aja kohta ligikaudse ettekujutuse ilma kella vaatamata. Sellel kellal pole häirefunktsiooni.

Arduino kood ei vaja programmi koostamiseks spetsiaalset teeki. Kell on väga minimalistliku disainiga, vaid neli kuvarit ja kaks LED-i AM / PM indikaatori jaoks ning lisaks sellele, et iga tund piiksub, pole ühtegi uhket funktsiooni.

Autori prototüüp:

7-segmendilise digitaalse kella testitulemus

Siin on valmis prototüüp, milles kasutatakse pappi ja vanaraua materjale:

Kujundus:

Vooluring koosneb neljast IC 4026-st nelja 7-segmendilise ekraani ja kella arduino aju juhtimiseks. IC 4026 lähtestustihvti külge on ühendatud kaks allakäigutakisti, et vältida staatilise laengu tõttu juhuslikku lähtestamist. AM / PM indikaator on ühendatud arduinoga koos 330 oomi voolu piirava takistiga.

Märkus: 220 kuni 330 oomi takisti peaks olema ühendatud ekraani iga segmendiga.

7-segmendiline digitaalne kell piiksu hoiatusahelaga

IC 4026 tihvtide konfiguratsioon:

IC 4026 tihvtide konfiguratsioon

Piiksu ahel:

Piiksuahel on lihtsalt monostabiilne multivibraator, mis on loodud IC555 abil. Negatiivse impulsi toomisel IC555 tihvti nr 2 piiksub umbes üks sekund. See helisignaal aitab kasutajal hoida aja kohta ülevaadet. IC555 tihvt nr 2 peaks olema ühendatud arduino tihvtiga nr 10.

IC 555 summeri ahel

Programmi kood:

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

Aja määramine:

Kuna disain on väga minimalistlik, saab aja määramiseks kasutada lähtestusnuppu. Kuid kasutaja peab aja määrama võrdluskella abil. Kasutaja peab arduino lähtestama täpselt 12’O ​​kellaga. Nii tehakse, kell uuendab aega ise.

Märkus: Kuna ülalnimetatud 7 segmendi digitaalsel kellal, millel on Arduino, pole reaalajas kella kiipi, on täpse aja säilitamiseks võimalik, et aeg võib ümbritseva õhu temperatuuri muutuse tõttu viia / viivitusega.

Selle parandamiseks toimige järgmiselt.

• Kui teie kell viib võrdluskella aega mõne sekundi võrra, tuleb seda aeglustada, märkige erinevus üles ja sisestage väärtus millisekundites programmi.

delay (2000) // veaparandus (varieerub sõltuvalt temperatuurist) See aeglustub iga sekundi järel paar sekundit.

• Asendage 2000 oma väärtusega.

• Kui viivitate kellaga, määrake viivitus (0) // veaparandus (varieerub sõltuvalt ajast) ja tehke programmis järgmised muudatused:

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)

Asendage viivitus (9700) väärtusega, et kiirendada iga minuti aega.

Need toimingud ei taga, et aeg oleks alati täpne, kuid see aitab aega säilitada minimaalse ebatäpsusega. Kavandatud disain on 12-tunnine.




Paar: Aku täislaadimise indikaatorahel, kasutades kahte transistorit Järgmine: Corona efekti generaator