Сделайте эти 7-сегментные цифровые часы со схемой звукового оповещения

Попробуйте наш инструмент устранения неполадок





В этом посте мы собираемся сконструировать цифровые часы, используя 7-сегментный светодиодный дисплей с дизайном, управляемым 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 часов. Как только это будет сделано, часы обновят время самостоятельно.

Примечание. Поскольку описанные выше 7-сегментные цифровые часы с использованием Arduino не имеют «микросхемы часов реального времени», для поддержания точного времени существует вероятность того, что время может опережать / отставать из-за изменения температуры окружающей среды.

Чтобы исправить это, вот шаги:

• Если ваши часы опережают время эталонных часов на несколько секунд, их необходимо замедлить, запишите разницу и введите значение в программе в миллисекундах.

delay (2000) // исправление ошибок (зависит от температуры) Это будет замедляться на несколько секунд каждый час.

• Замените 2000 своим значением.

• Если вы запаздываете по часам, установите «задержку (0) // исправление ошибок (зависит от времени)» и внесите следующие изменения в программу:

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-часовой формат.




Предыдущая статья: Схема индикатора полного заряда аккумулятора на двух транзисторах Далее: Генератор эффекта короны