Gör den här 7-segments digitala klockan med pip-varningskrets

Prova Vårt Instrument För Att Eliminera Problem





I det här inlägget ska vi konstruera en digital klocka med 7-segment LED-skärm med Arduino-kontrollerad design.

FÖRBI:



Hur kretsarna fungerar

Den föreslagna klockkretsen med 7 segment är billig och till och med nybörjare i Arduino kan göra det enkelt. Denna klocka består av fyra 7-segmentsdisplayer, två i timmar och två i minuter.

Skärmen är ihopkopplad med IC 4026 som är utformad för körning av 7 segmentskärmar. Varje IC 4026 styrs av Arduino.



Denna klocka har en signalfunktion, som piper varje timmes början, vilket ger en grov uppfattning om tiden utan att titta på klockan. Denna klocka har ingen larmfunktion.

Arduino-koden behöver inget speciellt bibliotek för att kompilera programmet. Klockan har en mycket minimalistisk design, bara fyra skärmar och två lysdioder för AM / PM-indikator och inga andra fina funktioner än att pipa varje timme.

Författarens prototyp:

Testresultat av 7 segment digital klocka

Här är en färdig prototyp som använder kartong och skrotmaterial:

Designen:

Kretsen består av fyra IC 4026 för styrning av fyra 7-segmentskärmar och hjärnan i klockan arduino. Två neddragningsmotstånd är anslutna till återställningsstiftet på IC 4026 för att undvika oavsiktlig återställning på grund av statisk laddning. AM / PM-indikator ansluten till arduino i kombination med 330 ohm strömbegränsningsmotstånd.

OBS: 220 ohm till 330 ohm motstånd ska anslutas till varje skärmsegment.

7-segment digital klocka med pip-varningskrets

Stiftkonfiguration av IC 4026:

Stiftkonfiguration av IC 4026

Piparkretsen:

Signalkretsen är bara en monostabil multivibrator designad med IC555. När en negativ puls matas till stift nr 2 i IC555, piper den ungefär en sekund. Denna ljudvarning hjälper användaren att hålla en grov uppfattning om tiden. Stift nr 2 av IC555 ska anslutas till stift nr 10 av arduino.

IC 555 summerkrets

Programkod:

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

Hur man ställer in tid:

Eftersom den är mycket minimalistisk kan 'återställningsknappen' användas för att ställa in tid. Men användaren måste ställa in tiden med hjälp av referensklockan. Användaren måste återställa arduino vid exakt 12'O klocka. En detta görs klockan uppdaterar tiden på egen hand.

Obs: Eftersom den ovan förklarade 7-segments digitala klockan som använder Arduino inte har 'realtidsklockchip', för att upprätthålla exakt tid, finns det en möjlighet att tiden kan leda / fördröjas på grund av förändring av omgivningstemperaturen.

För att åtgärda detta här är stegen:

• Om din klocka leder tiden för referensklockan med några sekunder måste den sakta ner, anteckna skillnaden och ange värdet i programmet i millisekunder.

fördröjning (2000) // felsökning (varierar med temperatur) Detta kommer att sakta ner några sekunder varje timme.

• Byt ut 2000 med ditt värde.

• Ställ in 'fördröjning (0) // felkorrigering (varierar med tid)' om du klockar efter och gör följande ändringar i programmet:

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)

Ersätt 'fördröjning (9700)' med ditt värde för att påskynda tiden varje minut.

Dessa steg garanterar inte att tiden alltid kommer att vara korrekt, men det hjälper till att bibehålla tiden med minimal felaktighet. Den föreslagna designen är 12 timmars klocka.




Tidigare: Batteriladdningsindikatorkrets med två transistorer Nästa: Corona Effect Generator