Realizza questo orologio digitale a 7 segmenti con circuito di avviso acustico

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo post costruiremo un orologio digitale utilizzando un display LED a 7 segmenti con design controllato da Arduino.

DI:



Come funzionano i circuiti

Il circuito di clock a 7 segmenti proposto è poco costoso e anche i principianti di Arduino possono realizzarlo con facilità. Questo orologio è composto da quattro display a 7 segmenti, due per le ore e due per i minuti.

Il display è abbinato all'IC 4026, progettato per pilotare display a 7 segmenti. Ogni IC 4026 è controllato da Arduino.



Questo orologio ha una funzione di avviso acustico, che suona ogni inizio dell'ora, dando un'idea approssimativa del tempo senza guardare l'orologio. Questo orologio non ha la funzione di sveglia.

Il codice Arduino non necessita di alcuna libreria speciale per compilare il programma. L'orologio ha un design molto minimalista, solo quattro display e due LED per l'indicatore AM / PM e nessuna funzione di fantasia oltre al segnale acustico ogni ora.

Prototipo dell'autore:

Risultato del test dell

Ecco un prototipo completato utilizzando cartone e materiali di scarto:

Il design:

Il circuito è composto da quattro IC 4026 per il controllo di quattro display a 7 segmenti e il cervello dell'orologio arduino. Due resistori pull down sono collegati al pin di ripristino dell'IC 4026 per evitare un ripristino accidentale dovuto alla carica statica. Indicatore AM / PM collegato ad arduino in combinazione con un resistore di limitazione della corrente da 330 ohm.

Nota: collegare una resistenza da 220 ohm a 330 ohm a ciascun segmento del display.

Orologio digitale a 7 segmenti con circuito di avviso acustico

Configurazione dei pin di IC 4026:

Configurazione dei pin dell

Il circuito del segnale acustico:

Il circuito del segnale acustico è solo un multivibratore monostabile progettato utilizzando IC555. Quando un impulso negativo viene inviato al pin n. 2 di IC555, emette un segnale acustico per circa un secondo. Questo avviso acustico aiuta l'utente a mantenere un'idea approssimativa del tempo. Il pin # 2 di IC555 dovrebbe essere collegato al pin # 10 di arduino.

Circuito buzzer IC 555

Codice del programma:

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

Come impostare l'ora:

Essendo un design molto minimalista, il 'pulsante di ripristino' può essere utilizzato per impostare l'ora. Ma l'utente deve impostare l'ora con l'aiuto dell'orologio di riferimento. L'utente deve reimpostare l'arduino alle ore 12 esatte. Una volta fatto questo, l'orologio aggiorna l'ora da solo.

Nota: poiché l'orologio digitale a 7 segmenti sopra spiegato che utilizza Arduino non ha un 'chip orologio in tempo reale', per mantenere l'ora precisa, è possibile che l'ora possa anticipare / ritardare a causa del cambiamento della temperatura ambiente.

Per correggere questo ecco i passaggi:

• Se il vostro orologio anticipa di qualche secondo il tempo di riferimento, è necessario rallentarlo, annotare la differenza e inserire il valore nel programma in millisecondi.

delay (2000) // correzione degli errori (varia con la temperatura) Questo rallenterà di alcuni secondi ogni ora.

• Sostituisci 2000 con il tuo valore.

• Se si ritarda l'orologio, impostare 'ritardo (0) // correzione degli errori (varia con il tempo)' e apportare le seguenti modifiche nel programma:

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)

Sostituisci 'delay (9700)' con il tuo valore per accelerare il tempo ogni minuto.

Questi passaggi non garantiscono che l'ora sia sempre precisa, ma aiuta a mantenerla con una minima imprecisione. Il design proposto è di 12 ore.




Precedente: Circuito indicatore di carica completa della batteria che utilizza due transistor Successivo: Corona Effect Generator