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

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

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

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

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

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

Диод 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, скачано: 919)

редактор

10 комментариев

  • 08.10.2017 в 02:30

    Как правильно выставить фьюзы при прошивке ?

    Ответить
  • 10.01.2018 в 13:09

    Привет! Я построил эти часы, но мультиплексирование часов работает некорректно. Текущее время ярче, когда другие символы активны в сегменте. Неактивный сегмент не работает, если какой-либо из других символов активен. На ПКБ нет ошибки. Пожалуйста, помогите мне.

      Спасибо.

    Ответить
    • 10.01.2018 в 14:31

      Возможно фьюзы неправильно выставили? Посмотрите фьюзы в модели Proteus.

      Ответить
  • 11.01.2018 в 15:01

    Я не могу смотреть на Протей. Пожалуйста, введите настройки «eXtreme burner-AVR» для моей программы записи (LO = E4, HI = DF).

    Ответить
    • 11.01.2018 в 19:14

      По фьюзам вроде все правильно… Проверьте монтаж на ошибки.

      Ответить
  • 12.01.2018 в 13:07

    Видео кажется проблемой. Однопозиционный мультиплексор часов работает некорректно. Управление двоеточием часов было снято с ноги PCF8583-7 с максимальной нагрузкой 3 мА. Я хотел бы построить эти часы, потому что мне нравится его простота и удобство использования. Мне жаль беспокоить вас своей проблемой.

    Ответить
    • 13.01.2018 в 00:18

      Проверьте разряды, возможно на схеме допущена ошибка.
      1 разряд индикатора — 14 вывод микроконтроллера
      2 разряд индикатора — 18 вывод микроконтроллера
      3 разряд индикатора — 17 вывод микроконтроллера
      4 разряд индикатора — 16 вывод микроконтроллера

      Ответить
  • 13.01.2018 в 11:27

    Он работает. Спасибо.

    Ответить
    • 13.01.2018 в 12:19

      Хорошо.
      Ошибку на схеме исправил.

      Ответить
  • 01.02.2018 в 17:42

    какие фьюзы выставить в пони прог

    Ответить

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

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

*