Направете този 7-сегментен цифров часовник с верига за предупреждение за бипкане

Опитайте Нашия Инструмент За Премахване На Проблемите





В тази публикация ще конструираме цифров часовник, използвайки 7 сегментен LED дисплей с контролиран от Arduino дизайн.

ПО:



Как работят схемите

Предложената 7-сегментна тактова схема е евтина и дори начинаещи в Arduino могат да я постигнат с лекота. Този часовник се състои от четири 7 сегментни дисплея, два за часове и два за минути.

Дисплеят е сдвоен с IC 4026, който е проектиран за управление на 7 сегментни дисплеи. Всеки IC 4026 се контролира от Arduino.



Този часовник има функция за предупреждение за звуков сигнал, която издава звукови сигнали всяко начало на часа, като дава приблизителна представа за времето, без да гледа часовника. Този часовник няма функция за аларма.

Кодът на Arduino не се нуждае от специална библиотека за компилиране на програмата. Часовникът има много минималистичен дизайн, само четири дисплея и два светодиода за индикатор AM / PM и никакви изискани функции, освен звуков сигнал на всеки час.

Прототип на автора:

Резултат от теста на 7-сегментен цифров часовник

Ето завършен прототип, използващ картон и скрап материали:

Дизайнът:

Веригата се състои от четири IC 4026 за управление на четири 7-сегментни дисплея и мозъка на часовника arduino. Два падащи резистора са свързани към нулиращия щифт на IC 4026, за да се избегне случайно нулиране поради статичен заряд. Индикатор за AM / PM, свързан към arduino в комбинация с резистор за ограничаване на тока 330 ома.

Забележка: Резисторът от 220 ома до 330 ома трябва да бъде свързан към всеки сегмент на дисплея.

7-сегментен цифров часовник с верига за предупреждение за звуков сигнал

Конфигурация на щифтове на IC 4026:

Конфигурация на щифтове на IC 4026

Звуковата верига:

Звуковият сигнал е просто моностабилен мултивибратор, проектиран с помощта на IC555. Когато отрицателен импулс се подаде към щифт №2 на IC555, той издава груб звуков сигнал за една секунда. Това звуково предупреждение помага на потребителя да запази приблизителна представа за времето. Пинът № 2 на IC555 трябва да бъде свързан с щифт № 10 на arduino.

IC 555 зумер верига

Код на програмата:

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

Как да зададете време:

Тъй като е много минималистичен дизайн, „бутонът за нулиране“ може да се използва за задаване на време. Но потребителят трябва да настрои времето с помощта на референтен часовник. Потребителят трябва да нулира arduino точно в 12’O ​​часовник. Едно това се прави, часовникът актуализира часа сам.

Забележка: Тъй като обясненият по-горе 7-сегментен цифров часовник, използващ Arduino, няма „чип с часовник в реално време“, за поддържане на точно време има вероятност времето да доведе / изостава поради промяна в околната температура.

За да коригирате това, ето стъпките:

• Ако вашият часовник води времето за справка с няколко секунди, трябва да се забави, отбележете разликата и въведете стойността в програмата за милисекунди.

delay (2000) // отстраняване на грешки (варира в зависимост от температурата) Това ще забавя няколко секунди на всеки час.

• Заменете 2000 с вашата стойност.

• Ако забавите часовника, задайте „delay (0) // fixing error (варира във времето)“ и направете следните промени в програмата:

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)

Заменете “delay (9700)” с вашата стойност, за да ускорите времето всяка минута.

Тези стъпки не гарантират, че времето винаги ще бъде точно, но помага да се поддържа времето с минимална неточност. Предложеният дизайн е 12 часов часовник.




Предишна: Индикаторна верига за пълно зареждане на батерията с помощта на два транзистора Следваща: Corona Effect Generator