Часы, будильник, термометр (ATmega8)-2.
– часы с цифровой коррекцией точности, календарь
– будильник с установкой по дням недели.
– два термометра.
– индикация на 8-и разрядный семисегментный индикатор. Анимированная смена индикации.
– автоматическая регулировка яркости индикатора.
Описание часов.
1. Функции.
– часы, формат отображения времени 24-х часовый, часы-минуты-секунды. Ежечасно срабатывает короткий звуковой сигнал («кукушка»), если разрешен в настройках. Сигнал не срабатывает в ночном режиме.
– календарь, формат отображения ДД-ММ-ГГ.
– цифровая коррекция точности. Возможна ежесуточная коррекция ±25 сек. Установленное значение в 1 час 0 минут 30 сек будет прибавлено/вычтено из текущего времени.
– будильник. В заданное время в течении одной минуты раздаются короткие двойные сигналы. Отключить звук досрочно можно нажатием на любую из кнопок. Если звук не отключен, то через 5 минут будильник включится снова на одну минуту. Всего 5 повторов, дальше звук отключается до следующего срабатывания будильника. Когда работа будильника разрешена, при отображении времени в младшем разряде индицируется точка. Выбор дней недели для работы будильника.
– термометр, два датчика. Диапазон измеряемых температур -55,0 ÷ 125,0 оС.
– индикация. Поочередная.
– настраиваемая анимация смены показаний.
– использование энергонезависимой памяти микроконтроллера для сохранения настроек при отключении питания.
– в основном режиме кнопкой SET производится ручное переключение отображаемой информации.
– переключение между дневным и ночным режимами яркости в заданное время.
– автоматическая регулировка яркости индикатора в зависимости от освещения.
2. Настройка.
2.1. При включении питания часы в основном режиме.
2.2. Нажатием на кнопку MENU производится вход в режим настроек и выбора группы параметров для установки. В пределах группы выбор параметра для установки производится кнопкой SET. По-очереди доступны для установки:
Группа CLOC:
– секунды (обнуляются при нажатии на кнопки PLUS или MINUS);
– минуты;
– часы;
– день недели.
Группа dAtE:
– год;
– месяц;
– дата.
Группа Corr:
– величина коррекции.
Группа ALAr:
– время срабатывания будильника, в старшем разряде символ A;
– глобальная активация будильника AL On - будильник активен, AL OFF - работа будильник запрещена;
– активация будильника по дням недели. На индикаторе "On", если работа будильника разрешена, "OFF", если запрещена.
Группа diSP:
– время индикации температуры датчика "Улица". В старших разрядах символы "tУ". Диапазон установки 0÷99 сек; Если установлен 0, то на индикаторы выводиться не будет.
– время индикации температуры датчика "Дом". В старших разрядах символы "td". Диапазон установки 0÷99 сек; Если установлен 0, то на индикаторы выводиться не будет.
– время индикации текущего времени. В старших разрядах символы "tc". Диапазон установки 0÷99 сек; Если установлен 0, то на индикаторы выводиться не будет.
– время индикации даты. В старших разрядах символы "tdt". Диапазон установки 0÷99 сек. Если установлен 0, то на индикаторы выводиться не будет.
– выбор скорости анимации. В старшем разряде символ "SP". Диапазон установки 0÷99. Одна единица соответствует примерно 2 мсек, чем выше величина, тем медленнее идет анимация.
Группа LiGH:
– максимальная яркость индикатора в дневном режиме. В старших разрядах DAУ. Диапазон установки 0÷99;
– время включения дневного режима. В старшем разряде символ d.
– максимальная яркость индикатора в ночном режиме. В старших разрядах niGH. Диапазон установки 0÷99;
– время включения ночного режима. В старшем разряде символ n.
Группа Sound:
– включение режима «кукушка». В старших разрядах символы cuc, если ежечасный звуковой сигнал разрешен, то в младших разрядах On, если запрещен – OFF.
2.3. Устанавливаемый параметр мигает.
2.4. Удержанием кнопок PLUS/MINUS производится ускоренная установка параметра.
3. Примечания.
1. При установке параметров яркости информация на индикаторе отображается с выбранной величиной яркости.
2.Необходимо соизмерять скорость анимации и время отображения информации. Если выбрана медленная анимация и малое время отображения, то может оказаться, что информация не успевает полностью обновиться до очередной смены.
3. Если время индикации для всех параметров установлено 0, тогда на индикатор будет выведено время без анимации.
4. В дневное время нажатие на кнопки озвучивается коротким сигналом.
4. Особенности схемы.
1. Датчик температуры может работать и по 2-х проводной схеме подключения. Если планируется измерять температуру в помещении, где установлены часы, то датчик все равно следует выносить за корпус часов.
2. Пищалка BUZ1 должна быть со встроенным генератором. В зависимости от тока потребления возможно придется установить усилитель (транзисторный ключ).
3. Индикатор с общим катодом. Если яркость окажется недостаточной, тогда следует установить дополнительные ключи (в архиве в папке Clock_ULN2803_v4).
4. При прошивке МК следует установить FUSE для работы от внутреннего тактового генератора частотой 8 МГц.
5. В проекте (это по сути уже схема) не показаны выводы питания микросхем.
6. При изготовлении переменный резистор RV1 следует заменить фоторезистором. Резистор R18 подобрать по наиболее оптимальному изменению яркости индикатора при изменении освещенности.
В архиве два варианта прошивки (с ключами в цепях общих катодов и без), проект в Proteus, пример установки FUSE для PONYPROG, описание.
Для обсуждения статьи создана тема на форуме.
---
24.02.2015 Исправлена ошибка при смене индикации в варианте с ULN2803.
16.03.2015 Исправлена нечеткость работы одного из эффектов анимации.
28.03.2015 Небольшие изменения в индикации тире при отображении времени. Версии файлов 4.1
Видео работы программы, от пользователя wolf2000.