Часы-термометр на микроконтроллере ATmega8

Рассказать в:

Всем привет. Часы на ATmega8 умеют делать следующие вещи:

  • 10 будильников на каждый день недели.
  • Отсрочка сигнала, если будильник не отключить, срабатывает примерно через 5 мин.
  • 8 будильников на отдельную ножку мк, вкл\откл нагрузки.
  • Два датчика температуры DS18B20 (дома и на улице).
  • Таймер 99 часов.
  • Яркость индикатора настраивается для дневного и ночного времени.
  • Изменяемый параметр плавно меняет яркость, как в АОН.
  • При пропадании 220 вольт потребление от батарей 40 микроампер.
  • Будильник срабатывает при любом режиме питания.
  • Часы могут последовательно показывать до 4 режимов.

В часах есть возможность последовательно показывать 4 режима, для которых выбирается один из десяти форматов отображения и время его показа.

Форматы отображения.
0Часы-термометр на микроконтроллере ATmega8

Число, День недели, Часы-минуты.

1Часы-термометр на микроконтроллере ATmega8

Часы-минуты-секунды.

2Часы-термометр на микроконтроллере ATmega8

Часы-минуты.

3Часы-термометр на микроконтроллере ATmega8

Часы-минуты, День недели.

4Часы-термометр на микроконтроллере ATmega8

Число_месяц_день недели.

5Часы-термометр на микроконтроллере ATmega8

Температура 1 датчик, Температура 2 датчик.

6Часы-термометр на микроконтроллере ATmega8

Температура 1 датчик (датчик дома).

7Часы-термометр на микроконтроллере ATmega8

Температура 2 датчик (датчик на улице).

8Часы-термометр на микроконтроллере ATmega8

Температура 1 датчик, Часы-минуты.

9Часы-термометр на микроконтроллере ATmega8

Температура 2 датчик, Часы-минуты.

AЧасы-термометр на микроконтроллере ATmega8

Температура 1 датчик, Температура 2 датчик.

bЧасы-термометр на микроконтроллере ATmega8

Температура 1 датчик, Температура 2 датчик.

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




Кнопка F - выход из режима. Выбор 3 основных режимов. 
Кнопка SET - вход в выбранный режим. Далее переход к следующему параметру (мигающему полю). 
Кнопка PLUS - плюс/on. В режиме SETUP листать главные меню. 
Кнопка MINUS - минус/__(off). В режиме SETUP листать главные меню. 

Все режимы, кроме нулевого и режима таймера, имеют завершение по времени. Если не было нажатий более 30 секунд, устанавливается режим ноль.

Режим 0
нажать F
Часы-термометр на микроконтроллере ATmega8SET - вход в режим будильников.
F
Часы-термометр на микроконтроллере ATmega8SET - вход в режим таймера.
F
Часы-термометр на микроконтроллере ATmega8SET - вход в режим настроек.
F
Режим 0

Режим CALLS

Часы-термометр на микроконтроллере ATmega8on/__-будильник вкл/откл.
Часы-термометр на микроконтроллере ATmega8Дни недели, в которые сработает будильник (здесь в 6 и 7 день будильник выключен).
Часы-термометр на микроконтроллере ATmega8Будильники A B C D E F G H вкл/откл. вывод call a_hмк. Будильник пригодится для управления нагрузкой. С его помощью вывод call a_h можно устанавливать на любое количество минут.
Часы-термометр на микроконтроллере ATmega8___-выключен, SET-ножка буд. A-H уст в 1, CLS уст в 0. 
n-сработает один раз, o-вкл. всегда.

Режим SETUP. 
Для записи значений в EEPROM нужно все значения в подрежиме подтвердить нажатием SET.
Пример: LIGHT ->SET-> L.ooooo   ->SET-> НО4Ь L.2   ->SET->   LIGHT .

Главные меню режима SETUP.
PORT
PLUS MINUS листать основные режимы меню SETUP. 
SET - вход в выбранный режим, далее переход к следующему параметру.
Что бы выйти из выбранного режима нажать F.
ЧАСЫ
УSt SEE
SIGNAL
LIGHT
DS18B20
DEFAULT

Режим PORT.

PortУстановить/сбросить ножку будильника A..H. call a_h.
Часы-термометр на микроконтроллере ATmega8

Режим часы.

Часы-термометр на микроконтроллере ATmega8Устанавливаются: минуты, часы, день недели, число.
Часы-термометр на микроконтроллере ATmega8Месяц.
Часы-термометр на микроконтроллере ATmega8Корректировка секунд. Нажатие MINUS сбрасывает секунды в ноль. Если секунд было больше 31, то минуты прибавляются на один.
Часы-термометр на микроконтроллере ATmega8Коррекция хода часов. Данная величина прибавляется или вычитается каждый час. Шаг 0,03 секунды. Max=0.87.

Режим Уст SEE.

В нулевом режиме часы показывают попеременно до 4 режимов, для которых выбирается один из десяти форматов отображения и время его показа.
Часы-термометр на микроконтроллере ATmega8P1 выбор режима. 
r0 выбор одного из десяти форматов отображения. 
r0-003 время, которое будет виден выбранный режим. 
При времени равном 000 режим не отображается(выключен).
Форматы отображения.
0Часы-термометр на микроконтроллере ATmega8

Число, День недели, Часы-минуты.

1Часы-термометр на микроконтроллере ATmega8

Часы-минуты-секунды.

2Часы-термометр на микроконтроллере ATmega8

Часы-минуты.

3Часы-термометр на микроконтроллере ATmega8

Часы-минуты, День недели.

4Часы-термометр на микроконтроллере ATmega8

Число_месяц_день недели.

5Часы-термометр на микроконтроллере ATmega8

Температура 1 датчик, Температура 2 датчик.

6Часы-термометр на микроконтроллере ATmega8

Температура 1 датчик (датчик дома).

7Часы-термометр на микроконтроллере ATmega8

Температура 2 датчик (датчик на улице).

8Часы-термометр на микроконтроллере ATmega8

Температура 1 датчик, Часы-минуты.

9Часы-термометр на микроконтроллере ATmega8

Температура 2 датчик, Часы-минуты.

AЧасы-термометр на микроконтроллере ATmega8

Температура 1 датчик, Температура 2 датчик.

bЧасы-термометр на микроконтроллере ATmega8

Температура 1 датчик, Температура 2 датчик.

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


Режим УSt Буd. Установки будильника.

Часы-термометр на микроконтроллере ATmega8Bip сигнал будильника - ШИМ. 
Pin сигнал будильника - уст в 1 вывод буд. 
Oba Шим и вывод. 
Часы-термометр на микроконтроллере ATmega8Отсрочка сигнала. 
При откл. отсрочке будильник выключается нажатием любой клавиши.
При вкл. отсрочке сигнала будильник откл. кнопкой F, при нажатии кнопок SET PLUS MINUS сигнал отключается, но опять сработает примерно через 5 минут, если будильник не выключать, то после 8 раз срабатывания он откл. автоматически.
При активной отсрочке сигнала, в нулевом режиме, мигает точка последнего разряда.
Часы-термометр на микроконтроллере ATmega8Отключение отсрочки (при отсутствии сигнала). В режиме 0, нажатие SET вкл. этот режим. Наличие активной отсрочки индуцирует символ о на 4 знакоместе. Нажатие PLUS MINUS выключает отсрочку.

Режим DS18B20.

Часы-термометр на микроконтроллере ATmega8Датчики температуры DS18B20.
Режим показывает, как определилось подключение датчиков, и настраивает датчики на разрешение 12 бит.
Часы-термометр на микроконтроллере ATmega8on - датчик подключен 3 проводами;
PA.- паразитное питание, датчик подключен 2 проводами;
-- - датчик отсутствует. 
При выходе из этого режима датчики настраиваются на разрешение 12 бит.

Режим DEFAULT.

Часы-термометр на микроконтроллере ATmega8По нажатию SET: Установка по умолчанию основных переменных в программе, обнуление всех будильников. Запись этих значений в EEPROM.

Прочие режимы (SETUP).
LIGHT
L ooooo - дневная яркость индикатора.
НОЧЬ L2 - яркость с 23-00 до 6-00.
SIGNAL
после входа в режим кнопками плюс/минус выбирается:
budil. S или button. S 
соответственно частота ШИМ для будильника и кнопок.
При входе в эти подрежимы на индикаторе:
H004.L000.
Частота генерируется в режиме быстрой шим(CTC mode). Верхний порог задается регистром OCR1A1. H004-старший байт L000-младший байт.
Что бы отключить сигнал от нажатия кнопок - установить H000 L000. 
Если в режиме УSt Буd.выбрана опция PIN, для будильника шим сигнал выводится не будет.

Действия в нулевом режиме. 

F - выбор режима. 
SET - режим отмены отсрочки сигнала 
PLUS - режим Уст SEE. 
MINUS - установка будильников.


Часы-термометр на микроконтроллере ATmega8

Схема clock.spl (7 Kb)

Часы-термометр на микроконтроллере ATmega8Датчик температуры можно подключить двумя проводами, для этого нужно замкнуть GND c VDD, при этом датчик переключится в режим паразитного питания. Такой способ удобно применять для датчика, который расположен на улице. При таком подключении нужен резистор 100 ом для защиты порта, на схеме указан. По программе перед каждым циклом чтения температуры выполняется проверка на замыкание и на присутствие датчика. При любом криминале вывод мк. переводится в Z состояние, на индикаторе: ---.

Часы-термометр на микроконтроллере ATmega8

Если будильник настроить на включение вывода, то можно использовать чип от музыкальной открытки.


Часы-термометр на микроконтроллере ATmega8В этой монтажке не установлены транзисторы на вывод таймера и будильника A..H.

lay.rar (12 Kb)


Программа написана на си в WinAvr. 
Скачать исходник, HEX и EEP файлы. clock_t.rar (18 Kb) 

При прошивке мк установите биты CKSEL3..0 в 0011 (внутренний RC генератор 4 Meg ). Запрограммировать бит CKOPT (подключение внутренних конденсаторов). посмотреть для PonyProg. Затем прошить EEPROM, или сбросить основные переменные в программе таким образом - SETUP -> DEFAULT -> SET.

А вот тут можно скачать весь проект целиком. Ну чтоб был.

А все вопросы - в Форум.



Раздел: [Устройства на микроконтроллерах]

Сохрани статью в:

Оставь свой комментарий или вопрос:


Наше сообщество в VK, а ты с нами? Присоединяйся!!!
Тясячи схем в категориях:
-> Прочее
-> Измерительная техника
-> Приборы
-> Схемыэлектрооборудования
-> Источники питания (прочие полезные конструкции)
-> Теоретические материалы
-> Справочные материалы
-> Устройства на микроконтроллерах
-> Зарядные устройства (для батареек)
-> Зарядные устройства (для авто)
-> Преобразователи напряжения (инверторы)
-> Все для кулера (Вентилятора)
-> Радиомикрофоны, жучки
-> Металоискатели
-> Регуляторы мощности
-> Охрана (Сигнализация)
-> Управление освещением
-> Таймеры (влажность, давление)
-> Трансиверы и радиостанции
-> Конструкции для дома
-> Конструкции простой сложности
-> Конкурс на лучшую конструкцию на микроконтроллерах
-> Конструкции средней сложности
-> Стабилизаторы
-> Усилители мощности низкой частоты (на транзисторах)
-> Блоки питания (импульсные)
-> Усилители мощности высокой частоты
-> Приспособления для пайки и конструирования плат
-> Термометры
-> Борт. сеть
-> Измерительные приборы (тахометр, вольтметр итд)
-> Железо
-> Паяльники ипаяльные станции
-> Радиопередатчики
-> Вспомогательные устройства
-> Телевизионная техника
-> Регуляторы тембра, громкости
-> Блоки питания (лабораторные)
-> Усилители мощности низкой частоты (на микросхемах)
-> Другие устройства для усилителей
-> Cветовое оформление новогодней ёлки или праздничного зала
-> Глушилки
-> Телефонные жуки
-> Инфракрасная техника
-> Медицинская техника
-> Телефония
-> Для животного мира
-> Конструируем усилители
-> Антенны и усилители к ним
-> Звонки
-> Электронные игрушки
-> Усилители мощности низкой частоты (ламповые)
-> Управление двигателями (питание от однофазной сети)
-> Программаторы микроконтроллеров
-> Сверлилки
-> Изучаем микроконтроллеры
-> Радиоприемники
-> Сигнализации
-> Сотовая связь
-> USB-устройства
-> Блоки питания (трансформаторные)
-> Радиостанции простые в изготовлении
-> Источники питания (для усилителей)
-> Прочеее
-> защита от короткого замыкания (электронные предохранители)
-> Зарядные устройства (для радиостанций)
-> Мигалки
-> Cварочное оборудование
-> Кодовые электронные замки
-> Блоки питания (бестрансформаторные)
-> Часы
-> Управление поворотниками
-> Зажигание
-> Управление водой (насосы для скважин или колодцев, полив растений)
-> Моделирование
-> Блоки управления стеклоочистителями
-> Предварительные усилители
-> Защита от перегрузки и перегрева
-> Динамики
-> Ремонт бытовой техники
-> Дистанционное управление компьютером
-> Акустические микрофоны и преобразователи
-> Спутниковое ТВ
-> Gsm антенны, примочки, усилители, ретрансляторы.
-> Пищалки
-> Роботы
-> Ретрансляторы
-> Паяльники и паяльные станции
-> Звуковые сигнализаторы
-> Рули и джойстики
-> Схемы электрооборудования
-> Все для "кулера" (Вентилятора)
-> Работа с BGA микросхемами
-> Фильтры
-> Сабвуферы
Рейтинг@Mail.ru