Часы на Atmega8 и семисегментном индикаторе

Эти практичные часы с исключительно простой конструкцией, оснащены легко читаемым светодиодным дисплеем, будильником с функцией повтора, восстановлением работы после отключения питания.

Характеристики часов

  • формат отображения времени: часы, минуты
  • будильник с функцией повтора
  • простое управление с помощью 2 кнопок
  • поддержание работы от батарейки
  • напряжение питания: 7…12В / 0,2 A
  • размеры плат: 60×21 мм, 58×44 мм

chasy-na-atmega8-i-semisegmentnom-indikatore-min

Принципиальная схема часов показана на рисунке ниже. Схема должна быть запитана постоянным напряжением 7…12В, подключаемого к разъему CON2 платы. Это может быть любой блок питания с нагрузкой по току не менее 200 мА.

chasy-na-atmega8-i-semisegmentnom-indikatore-2

Диод VD1 защищает схему от неправильной полярности подключения входного питания. Внешние входное напряжение подается на стабилизатор DA1, а конденсаторы C4…C7 выполняют роль фильтра питания.

Работой часов управляет микроконтроллер Atmega8, а в качестве часов реального времени применена микросхема типа PCF8583. Связь PCF8583 с микроконтроллером осуществляется через I2C интерфейс.

В роли дисплея используется модульный четырехзначный дисплей с общим анодом. Дисплей подключается непосредственно к порту микроконтроллера через ограничительные резисторы R4…R15.

К разъему CON5 платы можно подключить зуммер с генератором, который будет выступать в качестве звукового сигнала будильника. К клеммам SA1 и SA2 печатной платы подключаются кнопки, которые служат для ввода настроек и обслуживания часов.

chasy-na-atmega8-i-semisegmentnom-indikatore-3

Настройка времени и будильника

При нажатии кнопки SA1 попадаем меню часов «Set1», где у нас есть возможность установки текущего времени, а еще одно короткое нажатие кнопки SA1 переводит нас в меню установки времени будильника «Set2».

Для выбора и изменения настроек служит кнопка SA2. После выбора как в режиме настройки времени, как и в режиме установки будильника на дисплее начнет мигать первая цифра, после чего можно установить десятки часов с помощью кнопки SA2.

Очередное нажатие SA1 вызовет мигание второй цифры и с помощью SA2 можно установить единицы часов. Последующие два нажатия SA1 позволят установить десятки минут и единицы минут. Во время установки часов и минут устанавливается всегда только одна цифра. Пятое нажатие SA1 возвращает часы к нормальной работе. Также долгий момент ожидания нажатия кнопок завершает процедуры установки.

Во время работы часов длительное нажатие кнопки SA2 производит включение/выключение будильника. В момент активации будильника, на несколько секунд отображается время его запуска. Состояние будильника сигнализирует точка, размещена в четвертом разряде.

Если будильник активен, этот индикатор горит. После включения сигнала будильника нажатием любой кнопки можно выключить его на время порядка 5 минут, при этом активируется функция повтора.

Этот факт отмечается миганием точки на четвертом разряде индикатора. По истечении 5 минут сигнала будильника будет запущен снова. Снова нажатием любой кнопки, его можно отложить еще на 5 минут, и т. д.

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

Работа часов протестирована в Proteus:

chasy-na-atmega8-i-semisegmentnom-indikatore-3

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

Рисунок печатной платы, прошивка, модель в Proteus (34,7 Kb, скачано: 362)

редактор

Добавить комментарий

Ваш электронный адрес не будет опубликован.

*