Часы на микроконтроллере atmega8
Функции.
- часы, 24-часовой формат отображения времени, часы: минуты.
- цифровая коррекция точности. Возможна ежедневная коррекция ±25 секунд. Установленное значение 1 час 0 минут 30 секунд будет добавлено/вычтено из текущего времени. Будильник. В установленное время в течение одной минуты раздаются короткие двойные звуковые сигналы. Вы можете заранее отключить звук, нажав любую из кнопок. Когда будильник включен, точка отображается в младшей значащей цифре, когда отображается время.
- термометр. Диапазон измеряемых температур -55,0 ÷ 125,0 °С. Если температура выше 99,9 или ниже -9,9°C, десятые доли градуса не отображаются.
- Настраиваемая анимация смены показаний.
- использование энергонезависимой памяти микроконтроллера для сохранения конфигурации при отключении питания. Если нажать кнопку ПЛЮС в основном режиме, то на индикаторах отображается время, если нажать МИНУС — температура. При отпускании кнопок автоматическое переключение показаний возобновляется.
- автоматическая регулировка яркости индикатора в зависимости от освещенности.
Характеристики схемы.
- Если предполагается использовать функцию автоматической регулировки яркости индикатора, то вместо РВ 1 устанавливается фоторезистор. Причем номинал резистора R 17 необходимо подобрать для получения нужной чувствительности системы.
- Датчик температуры может работать и по 2-х проводной схеме подключения. Если вы планируете измерять температуру в помещении, где установлены часы, датчик все равно нужно вынуть из корпуса часов.
- Зуммер БУЗ 1 должен иметь встроенный генератор. В зависимости от потребляемого тока может потребоваться установка усилителя (транзисторного ключа).
- Индикатор с общим катодом. Если яркости не хватает, необходимо установить дополнительные клавиши. Если ключи будут обратным сигналом, то нужно будет внести изменения в прошивку.
- При прошивке МК необходимо установить FUSE для работы от внутреннего тактового генератора с частотой 8МГц Пример установки FUSE для программы PONYPROG показан на скриншоте.
- В проекте (по сути это уже схема) не указаны выводы питания микросхем.
- Файл screen.png — это скриншот проекта на случай, если Proteus не установлен.
Более четырех лет назад я построил простые часы на ATmega8. Все это время они отлично работали и были полезны, особенно в темное время суток. Но мне казалось, что такой микроконтроллер, как ATmega8, может гораздо больше, чем просто считать колебания кварца и выводить их как время.
Он хотел, чтобы новые часы сообщали не только текущее время, но и температуру в помещении, где они находятся. Я задался целью найти в интернете подобные схемы, отталкиваясь от уже имеющихся компонентов, а именно: микроконтроллера ATmega8 и светодиодного индикатора с общим катодом. На этой странице было найдено отличное решение, которое предоставил пользователь Soir, за что большое спасибо.
Схема часов не сложная, к тому же я сделал в ней некоторые упрощения. Что получилось, привожу ниже. Оригинальная и упрощенная схема, разведенная в Proteus, доступна в ФАЙЛЕ. В этом же файле находится прошивка ATmega8, дающая разный функционал часам, пример настройки фьюзов, полная инструкция по настройке часов и их возможностей, а также печатная плата в формате *.lay6. Печатная плата была поднята мной под имеющийся корпус. В архиве есть прошивки для индикаторов с общим анодом и катодом.
Большим преимуществом является возможность сохранения конфигураций в энергонезависимой памяти микроконтроллера. Также использование микросхемы DS1307 в сочетании с батарейкой делает часы полностью энергонезависимыми. Аккумулятор обеспечивает питание часов. Теперь, сколько бы ни прерывалось ваше электроснабжение, когда оно возобновится, часы будут работать без изменений и отклонений, даже будильник(и) останется включенным).
Эстетически эти часы тоже хороши. Существует более десяти видов визуальных эффектов для изменения отображения времени и температуры. Кстати, эти эффекты можно выбирать независимо или настроить отображение случайным образом.
Источник: https://4аррlе.оrg
Нашел пару ошибок в статье. Прошу отредактировать. 1. Во втором абзаце в режиме сна – 0,5A.» нужно заменить или на 10 микроампер или на 0,01 мА. 2. В том же абзаце «Также теперь светится разделительная кнопка между часами и минутами.»
p-a-h-a, спасибо за внимательность. Исправил ошибки. Времени подготовить материал было очень мало, спешил.
у вас есть канал на YouTube =0 я вас подпишусь
dima3696, у меня нет. Видео и канал сверху — пользователя p-a-h-a.
Здравствуйте. Подскажите, сделал новую версию ваших часов с 4 прошивкой, и у меня возникла проблема. При отключении питания 5V часы продолжают работать, но при подаче питания происходит сброс времени. Прошивка с общим минусом и не мигающими точками.
m@ster, добрый день. Часы не мои, а пользователя p-a-h-a. Чтобы связаться с ним используйте e-mail, который указан под его сообщениями. Возможно, он что-то подскажет по своей прошивке.
Доброго времени суток ? собрал сие чудо все прошло без проблем пошли сразу YH (были мелкие косяки в монтаже, но это моя вина), единственное что не понятно так это точка, я вывел ее отдельным светодиодом (4 нога и минус) Моргать моргает но не тухнет до конца, в тот момент когда светодиод не должен светить он светит но в пол накала, но меня и так устраивает. Огромное спасибо за схему!!!! DRNK
11dimasik22, подберите на «точку» токоограничивающий резистор и светодиод будет тухнуть полностью.
admin, Обязательно воспользуюсь советом, спасибо!
Я вот немного не понял как реализовано резервное питание микроконтроллера. 25 нога она ведь совсем не для питания предназначена…
SergeyIL, можете спросить это у автора схемы в комментариях к видео.
SergeyIL, С 25 ноги на 20 должен быть диод, тогда резервное питание работает. Так сделал в трех экземплярах, все работает…
RA3Qkk, c 25й ноги на 20ю диод встроен в микроконтроллер, который расчитан на ток, если не ошибаюсь на 25 мА (максимальный ток пина). Читайте даташит. Добавленно позже (в 00:10 13.02.2018):http://easyelectronics.ru/img/AVR_kurs/IOPorts/port-sh.GIFДобавленно позже (в 00:11 13.02.2018): Добавленно позже (в 00:17 13.02.2018):SergeyIL, подаем питание на любую незадействованную I/O ногу контроллера (главное чтоб она не была настроена на вывод с логическим нолем. На схеме выше видим диод между ногой I/O и Vcc. Через этот диод питание и приходит куда нужно.
p-a-h-a, спасибо за комментарии, но пользователей интересовали эти вопросы более года назад. ?
Собрал сие чудо . Ходят , но при отключении питания и включении снова происходит загрузка сначала с заставкой . Кто нибудь подскажет куда копать ? Батарейка 2.94 вольта .Добавленно позже (в 12:11 02.05.2020):Все решилось другой прошивкой видимо о чем писал m@ster