Tee tämä 7-segmenttinen digitaalinen kello äänimerkkihälytyspiirillä

Kokeile Instrumenttia Ongelmien Poistamiseksi





Tässä viestissä aiomme rakentaa digitaalisen kellon käyttämällä 7 segmentin LED-näyttöä Arduino-ohjatulla suunnittelulla.

Kirjailija:



Kuinka piirit toimivat

Ehdotettu 7 segmentin kellopiiri on halpa ja jopa aloittelija Arduinossa voi suorittaa sen helposti. Tämä kello koostuu neljästä 7 segmenttinäytöstä, kahdesta tunteja ja kahdesta minuuteista.

Näyttö on yhdistetty IC 4026: een, joka on suunniteltu 7-segmenttisten näyttöjen ajamiseksi. Jokaista IC 4026: tä ohjaa Arduino.



Tässä kellossa on äänimerkkihälytystoiminto, joka piippaa tunnin alusta, mikä antaa karkean kuvan ajasta katsomatta kelloa. Tässä kellossa ei ole hälytystoimintoa.

Arduino-koodi ei tarvitse erityistä kirjastoa ohjelman kokoamiseen. Kellolla on hyvin minimalistinen muotoilu, vain neljä näyttöä ja kaksi LED-valoa AM / PM-ilmaisimelle, eikä siinä ole mitään hienoja toimintoja kuin piippaus joka tunti.

Kirjoittajan prototyyppi:

7 segmentin digitaalisen kellon testitulos

Tässä on valmis prototyyppi, jossa käytetään pahvia ja romumateriaaleja:

Muotoilu:

Piiri koostuu neljästä IC 4026: stä neljän 7 segmentin näytön ja kellon arduinon aivojen ohjaamiseksi. Kaksi vetovastusta on kytketty IC 4026: n nollaustapiin staattisen varauksen aiheuttaman vahingossa tapahtuvan nollaamisen välttämiseksi. AM / PM-ilmaisin kytkettynä arduinoon yhdessä 330 ohmin virranrajoitusvastuksen kanssa.

Huomaa: 220 - 330 ohmin vastus tulee liittää näytön jokaiseen osaan.

7-segmenttinen digitaalinen kello äänimerkkihälytyspiirillä

IC 4026: n nastakokoonpano:

IC 4026: n tapin kokoonpano

Äänimerkkipiiri:

Äänimerkkipiiri on vain monostabiili monivibraattori, joka on suunniteltu IC555: n avulla. Kun negatiivinen pulssi syötetään IC555: n tapaan # 2, se antaa äänimerkin noin sekunnin ajan. Tämä äänihälytys auttaa käyttäjää pitämään karkean käsityksen ajasta. IC555: n tappi # 2 tulee liittää arduinon nastaan ​​# 10.

IC 555 -äänipiiri

Ohjelmakoodi:

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

Kuinka asettaa aika:

Erittäin minimalistisen muotoilun avulla 'nollauspainiketta' voidaan käyttää ajan asettamiseen. Mutta käyttäjän on asetettava aika vertailukellon avulla. Käyttäjän on nollattava arduino tarkalleen 12'O-kellolla. Yksi tämä tehdään kello päivittää ajan itsestään.

Huomaa: Koska edellä selitetyssä 7-segmenttisessä Arduinoa käyttävässä digitaalisessa kellossa ei ole ”reaaliaikakellosirua”, tarkan ajan ylläpitämiseksi on mahdollista, että aika voi johtaa / viivästyä ympäristön lämpötilan muutoksen vuoksi.

Voit korjata tämän seuraavasti:

• Jos kellosi johtaa referenssikelloaikaa muutamalla sekunnilla, sen on hidastuttava, kirjoita ero muistiin ja kirjoita arvo ohjelmaan millisekunteina.

delay (2000) // virheenkorjaus (vaihtelee lämpötilan mukaan) Tämä hidastuu muutama sekunti joka tunti.

• Korvaa 2000 arvollasi.

• Jos kelloviive on asetettu, aseta ”delay (0) // virheenkorjaus (vaihtelee ajan mukaan)” ja tee seuraavat muutokset ohjelmassa:

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)

Korvaa 'delay (9700)' arvollasi nopeuttaaksesi aikaa joka minuutti.

Nämä vaiheet eivät takaa, että aika on aina tarkka, mutta se auttaa pitämään ajan mahdollisimman pienellä epätarkkuudella. Ehdotettu muotoilu on 12 tunnin kello.




Pari: Akun täyden latauksen osoitinpiiri kahdella transistorilla Seuraava: Corona Effect Generator