Stellen Sie diese 7-Segment-Digitaluhr mit Piepton-Alarmschaltung her

Stellen Sie diese 7-Segment-Digitaluhr mit Piepton-Alarmschaltung her

In diesem Beitrag werden wir eine Digitaluhr mit 7-Segment-LED-Anzeige und Arduino-gesteuertem Design konstruieren.

DURCH:



Wie die Schaltungen funktionieren

Die vorgeschlagene 7-Segment-Taktschaltung ist kostengünstig und selbst Anfänger in Arduino können dies problemlos erreichen. Diese Uhr besteht aus vier 7-Segment-Anzeigen, zwei für Stunden und zwei für Minuten.



Das Display ist mit dem IC 4026 gekoppelt, der für die Ansteuerung von 7-Segment-Displays ausgelegt ist. Jeder IC 4026 wird von Arduino gesteuert.

Diese Uhr verfügt über eine Piepton-Alarmfunktion, die zu Beginn der Stunde piept und eine ungefähre Vorstellung von der Zeit gibt, ohne auf die Uhr zu schauen. Diese Uhr hat keine Weckfunktion.



Der Arduino-Code benötigt keine spezielle Bibliothek zum Kompilieren des Programms. Die Uhr hat ein sehr minimalistisches Design, nur vier Displays und zwei LEDs für die AM / PM-Anzeige und keine ausgefallenen Funktionen außer stündlichem Piepen.

Prototyp des Autors:

Testergebnis der 7-Segment-Digitaluhr



Hier ist ein fertiger Prototyp aus Pappe und Schrott:

Das Design:

Die Schaltung besteht aus vier IC 4026 zur Steuerung von vier 7-Segment-Anzeigen und dem Gehirn des Clock Arduino. Zwei Pulldown-Widerstände sind mit dem Rücksetzstift des IC 4026 verbunden, um ein versehentliches Zurücksetzen aufgrund statischer Aufladung zu vermeiden. AM / PM-Anzeige an Arduino in Kombination mit einem Strombegrenzungswiderstand von 330 Ohm angeschlossen.

Hinweis: An jedes Anzeigesegment sollte ein Widerstand von 220 Ohm bis 330 Ohm angeschlossen werden.

7-Segment-Digitaluhr mit Signalton

Pin-Konfiguration des IC 4026:

Pin-Konfiguration des IC 4026

Die Piepserschaltung:

Die Piepserschaltung ist nur ein monostabiler Multivibrator, der mit IC555 entwickelt wurde. Wenn ein negativer Impuls an Pin 2 des IC555 eingespeist wird, piept er ungefähr eine Sekunde lang. Diese akustische Warnung hilft dem Benutzer, eine ungefähre Vorstellung von der Zeit zu behalten. Der Pin 2 von IC555 sollte mit Pin 10 von Arduino verbunden sein.

Summerschaltung IC 555

Programmcode:

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

So stellen Sie die Zeit ein:

Da das Design sehr minimalistisch ist, kann mit der „Reset-Taste“ die Zeit eingestellt werden. Der Benutzer muss die Zeit jedoch mit Hilfe der Referenzuhr einstellen. Der Benutzer muss das Arduino genau um 12 Uhr zurücksetzen. Wenn dies erledigt ist, aktualisiert die Uhr die Uhrzeit von selbst.

Hinweis: Da die oben erläuterte 7-Segment-Digitaluhr mit Arduino keinen „Echtzeituhr-Chip“ zur Aufrechterhaltung einer genauen Zeit hat, besteht die Möglichkeit, dass die Zeit aufgrund einer Änderung der Umgebungstemperatur vor- / zurückbleibt.

Um dies zu korrigieren, gehen Sie wie folgt vor:

• Wenn Ihre Uhr einige Sekunden vor der Uhrzeit der Referenzuhr liegt, muss sie verlangsamt werden. Notieren Sie sich die Differenz und geben Sie den Wert in Millisekunden in das Programm ein.

delay (2000) // Fehlerbehebung (variiert mit der Temperatur) Dies verlangsamt sich stündlich um einige Sekunden.

• Ersetzen Sie 2000 durch Ihren Wert.

• Wenn Sie Verzögerungen haben, stellen Sie die „Verzögerung (0) // Fehlerbehebung (variiert mit der Zeit)“ ein und nehmen Sie die folgenden Änderungen im Programm vor:

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)

Ersetzen Sie 'Verzögerung (9700)' durch Ihren Wert, um die Zeit jede Minute zu beschleunigen.

Diese Schritte garantieren nicht, dass die Zeit immer genau ist, aber es hilft, die Zeit mit minimaler Ungenauigkeit zu halten. Das vorgeschlagene Design ist 12 Stunden Uhr.




Zurück: Anzeigekreis für volle Batterieladung mit zwei Transistoren Weiter: Corona-Effektgenerator