Простенький измеритель температуры на основе моей Ардуино на базе ATTiny24A
.
После создания своей Ардуино на базе микроконтроллера ATTiny24A, стал писать разные примерчики. Какие-то примеры использовал для ATTiny13 с последующей переделкой под используемый микроконтроллер.
Примеры с использованием семисегментного четырёхразрядного индикатора решил расширить и подключить ещё и датчик температуры DS18B20. В итоге получился скетч измерителя температуры в диапазоне от -55°С до +125°С.
Попользовался макетом, захотелось создать законченную конструкцию и получился компактный довольно точный цифровой контактный термометр. Датчики подключаются через разъём, поэтому можно использовать любой датчик DS18B20 в любом исполнении.
Встроенный аккумулятор позволяет измерять температуру мобильно, не привязываясь к розеткам ~220В.
Схема измерителя температуры не сложная. Питается устройство от Li-Ion аккумулятора. Модуль заряда аккумулятора U2 можно использовать любой для Li-Ion, в моём устройстве использован самодельный модуль на основе микросхемы LTC4054
. Микроконтроллер используется ATTiny24A, который установлен на плату моей Arduino. Индикация температуры выводится на семисегментный четырёхразрядный индикатор. Используется самодельный модуль на основе микросхемы TM1637. Кнопка SB1 позволяет настраивать яркость индикатора.
Скетч написан с использованием двух файлов, которые позволяют управлять семисегментным четырёхразрядным индикатором.
К особенностям можно отнести то, что при отключении датчика, на индикаторы выводятся:
[----], что указывает на потерю связи микроконтроллера с датчиком. При восстановлении подключения датчика температуры, на индикаторе выводится температура °С с точностью до десятой градуса.
Для управления яркостью индикатора используется одна кнопка SB1. При длительном нажатии программа переходит в режим настройки яркости. Кратким нажатием возможно установить яркость от 1 до 7. При следующем длительном нажатии происходит сохранение настройки в EEPROM и переход к индикации текущей температуры.
Так как скетч хорошо прокомментирован, то смысла приводить текст скетча на странице не вижу. Скетч и необходимые файлы можно скачать ниже в Приложении
.
Конструкция построена как сборка платы носителя, на которой установлена плата с моей Ардуино на базе ATTiny24A v1
. На этой же плате-носителе установлен 4-х контактный разъём для подключения платы модуля с индикатором. На плате индикатора укреплён модуль зарядки аккумулятора и кнопка изменения яркости индикатора.
Далее всё помещено в корпус из пластика ABS. Корпус имеет размеры 65 * 38 * 36 мм.
Ниже на фото видно, что собрана плата со всеми модулями. Рядом Li-Po аккумулятор на 600 мАч.
Применил в этом устройстве плату Ардуино ATTiny24
версии v1.
Видно, что плата индикатора соединяется через разъём (справа), а другая сторона опирается на шестигранные стойки напечатанные из пластика PLA(слева).
Кнопка яркости планарная. Припаяна к небольшой платке. Платку с кнопкой приклеил на двухсторонний скотч к индикатору, который и является упором при нажатии на толкатель кнопки.
Всё установлено в корпус. Выключатель ползунковый, выведен на лицевую сторону.
Корпус состоит из двух частей, которые соединены с помощью защёлок. На верхней части укреплена плата с модулями, и выключатель питания. Нижняя часть – просто крышка. На фото аккумулятор пока не приклее на двухсторонний скотч к плате-сосителю. Потом приклеил.
С левой стороны имеется отверстие под разъём miniUSB, для зарядки аккумулятора. На лицевой панели установлен кусочек оргстекла напротив светодиодов модуля зарядки. При заряде светится красным...
...когда аккумулятор заряжен, индикатор заряда светится зелёным.
Благодаря тому, что для датчика выведен разъём с левой стороны корпуса, можно подключать датчики DS18B20 в любом исполнении. В данном случае подключен датчик в водозащищённом исполнении, а ниже лежит датчик в корпусе TO-92.
С правой стороны корпуса есть отверстие, в которое выведен разъём для зарядки аккумулятора.
Сверху от индикатора выведен толкатель кнопки изменения яркости. При продолжительном нажатии программа переходит в режим настройки яркости, которая осуществляется короткими нажатиями. Для сохранения выбранного уровня яркости следует сделать длительное нажатие на кнопку. После чего программа переходит в режим индикации текущего давления.
С левой стороны корпуса есть отверстие, в которое выведен разъём для подключения датчика DS18B20.
В итоге получился достаточно компактный и удобный приборчик без разных излишеств. Даже уже знаю где его буду часто использовать – при приготовлении заварки для ржаного хлеба .
Кому интересно, можно пройти по ссылке и посмотреть как просто можно приготовить в домашних условиях настоящий Ржаной хлеб
.
Натурные испытания приборчика на улице при -29°С выявили, что не любой датчик DS18B20 хорошо работает при таких температурах. Китайские датчики в виде транзистора
что-то не переносят наши морозы , а вот датчик в водозащищенном корпусе очевидно настоящий американский, или сделан правильно, т.к. он работает и с паразитным питанием и на морозе показал себя замечательно! Поэтому смотрите, что покупаете... бывает название одно и тоже, но компоненты совершенно разного качества.
Материалы для повторения: