Realizați acest ceas digital pe 7 segmente cu circuit de alertă sonoră

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În acest post vom construi un ceas digital folosind afișaj LED pe 7 segmente cu design controlat Arduino.

DE:



Cum funcționează circuitele

Circuitul de ceas propus pe 7 segmente este ieftin și chiar începător în Arduino îl poate realiza cu ușurință. Acest ceas este format din patru afișaje pe 7 segmente, două pentru ore și două pentru minute.

Afișajul este asociat cu IC 4026, care este conceput pentru a conduce afișaje pe 7 segmente. Fiecare IC 4026 este controlat de Arduino.



Acest ceas are funcția de alertă sonoră, care emite un sunet la fiecare început de oră, oferind o idee aproximativă despre timp, fără a privi ceasul. Acest ceas nu are funcția de alarmă.

Codul Arduino nu are nevoie de nicio bibliotecă specială pentru a compila programul. Ceasul are un design foarte minimalist, doar patru afișaje și două LED-uri pentru indicatorul AM / PM și nu are alte funcții fanteziste în afară de semnal sonor la fiecare oră.

Prototipul autorului:

Rezultatul testului ceasului digital cu 7 segmente

Iată un prototip complet, care folosește materiale de carton și resturi:

Design-ul:

Circuitul este format din patru IC 4026 pentru controlul a patru afișaje pe 7 segmente și creierul ceasului arduino. Două rezistențe de tragere sunt conectate la pinul de resetare al IC 4026 pentru a evita resetarea accidentală din cauza încărcării statice. Indicator AM / PM conectat la arduino în combinație cu rezistor de limitare a curentului de 330 ohmi.

Notă: Rezistorul de la 220 ohmi la 330 ohmi trebuie conectat la fiecare segment de afișaj.

Ceas digital cu 7 segmente cu circuit de alertă sonoră

Configurarea pinului IC 4026:

Configurarea pinului IC 4026

Circuitul sonor:

Circuitul sonor este doar un multivibrator monostabil proiectat folosind IC555. Când un impuls negativ este alimentat la pinul 2 al IC555, acesta emite un bip aproximativ o secundă. Această alertă audio îl ajută pe utilizator să își păstreze o idee aproximativă despre timp. Pinul 2 al IC555 ar trebui să fie conectat la pinul 10 al arduino.

Circuit sonor IC 555

Codul programului:

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

Cum setați ora:

Fiind un design foarte minimalist, „butonul de resetare” poate fi folosit pentru a seta timpul. Dar utilizatorul trebuie să seteze ora cu ajutorul ceasului de referință. Utilizatorul trebuie să reseteze arduino la exact 12’O ​​ceas. Unul dintre acestea este realizat, ceasul actualizează singură ora.

Notă: Întrucât ceasul digital pe 7 segmente explicat mai sus, care utilizează Arduino, nu are „cip de ceas în timp real”, pentru menținerea orei exacte, există posibilitatea ca timpul să poată duce / întârzia din cauza schimbării temperaturii ambiante.

Pentru a remedia acest lucru, iată pașii:

• Dacă ceasul dvs. conduce timpul de referință cu câteva secunde, acesta trebuie să fie încetinit, notați diferența și introduceți valoarea în program în milisecunde.

delay (2000) // remedierea erorilor (variază în funcție de temperatură) Aceasta va încetini câteva secunde în fiecare oră.

• Înlocuiți 2000 cu valoarea dvs.

• Dacă întârziați ceasul, setați „întârziere (0) // remedierea erorilor (variază în funcție de timp)” și efectuați următoarele modificări în program:

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)

Înlocuiți „întârziere (9700)” cu valoarea dvs. pentru a accelera timpul în fiecare minut.

Acești pași nu garantează că timpul va fi întotdeauna corect, dar ajută la menținerea timpului cu o inexactitate minimă. Designul propus este de 12 ore.




Precedent: Circuitul indicatorului de încărcare completă a bateriei utilizând două tranzistoare Următorul: Generator de efecte Corona