Устройство собиралось на монтажной плате. В качестве контроллера
применен всеми любимый ATtiny2313, индикатор 16х2 на HD44780, часы
реального времени ds1307, датчик температуры ds18b20. Температура
отображается с точностью до десятых градуса.
Индикатор был вынут из телефонного аппарата. Попался
нерусифицированный и без подсветки. Сначала я только подключил
индикатор. Затем добавил термометр, затем уже часы и календарь. Поэтому
получилось то, что получилось.
Чтобы установить часы и календарь, нажимаем кнопку "*".
Нажав "*" один раз, попадаем в режим установки минут. Кнопками "+" и "-" устанавливаем нужное значение минут.
Нажав "*" второй раз, попадаем в режим установки часов.
Третий раз - для установки дня недели (он не отображается). Далее дата, месяц, год.
Нажимаем седьмой раз "*" - выход из режима установки.
Немного о программе.
Очень понравилась идея включаемых файлов. В отдельные файлы вынесены
процедуры работы с шинами I2C, 1-wire и работы с LSD. Софт, большей
частью, взят из статей: "Подключаем LCD к микроконтроллеру по 4-х
битной шине" и "Термометр на микроконтроллере". Авторам огромное
спасибо за эти статьи.
В основном цикле программы происходит только опрос кнопок. По
прерыванию компаратора, примерно раз в секунду, микроконтроллер
получает температуру, данные из часов преобразует и выводит на экран. В
микроконтроллере данные из ds1307 сохраняются в оперативной памяти в
переменной clock, из ds18b20 в переменной buffer. ds1307 по умолчанию
не заведены и не идут, поэтому их нужно завести.
Fuse - биты устанавливаем на работу от внутреннего генератора. Частота 8МГц.
Схема обвязки часов очень проста и содержит в себе кварцевый резонатор на частоту 32,768kHz, литиевую батарейку на 3 вольта и три резистора на 4,7К для «подтяжки» шины I2C (если шина у вас уже «подтянута» на контроллере, то эти резисторы распаивать не обязательно):
Хотя читал на форумах что некоторые вместо кварца ноги 1и2 кротят (ставят перемычку) сам не проверял. И еще эта микросхемка очень привередлива к питанию.
Чтобы установить часы и календарь, нажимаем кнопку "*". Нажав "*" один раз, попадаем в режим установки минут. Кнопками "+" и "-" устанавливаем нужное значение минут. Нажав "*" второй раз, попадаем в режим установки часов. Третий раз - для установки дня недели (он не отображается). Далее дата, месяц, год. Нажимаем седьмой раз "*" - выход из режима установки.
А температура работает?
Поиск по сайту
Для корректного поиска вводите в поисковую форму не более 20-25 символов.
Форма входа
Наш опрос
Рекомендуем
Полезно знать!
Пайка монтажа и замена деталей радиоаппаратуры, находящегося под напряжением ЗАПРЕЩАЕТСЯ!!!
Вы можете поддержать сайт напрямую через наши платежные реквизиты
WebMoney Z355095169785 R218396818010 E144063919939 Все средства полученные от пользователей сайта будут использованы исключительно для поддержки и дальнейшего развития сайта.