Найти в Дзене
oleg gorshkov

Засыпающий термометр на Tiny13, DS18B20, TM1637, HC-SR505

Данный термометр предназначен для измерения температуры окружающего воздуха в ждущим режиме, то есть при присутствии человека рядом. Иногда удобно увидеть температуру сразу при входе в помещение. Есть множество готовых бытовых термометров, но они, как правило выдают показания на ЖК дисплей, которые не очень хорошо видно, особенно при плохом освещение. Применение светодиодных индикаторов влечёт повышенное потребление электроэнергии, что критично при питании от батареек. Поэтому появилась идея выводить показания на светодиодный дисплей, но не постоянно, а только когда это требуется. За основу проекта взял прошивку от Андрея Фролова, для микроконтроллера Tiny13. В прошивке изменил только время измерения, у него было раз в минуту, в моём случае будет значительно быстрее, из-за особенности применения. В качестве измерительного элемента используется DS18B20 — это популярный цифровой датчик температуры, который взаимодействует с микроконтроллерами по уникальному протоколу 1-Wire. Диапазон

Данный термометр предназначен для измерения температуры окружающего воздуха в ждущим режиме, то есть при присутствии человека рядом. Иногда удобно увидеть температуру сразу при входе в помещение. Есть множество готовых бытовых термометров, но они, как правило выдают показания на ЖК дисплей, которые не очень хорошо видно, особенно при плохом освещение. Применение светодиодных индикаторов влечёт повышенное потребление электроэнергии, что критично при питании от батареек. Поэтому появилась идея выводить показания на светодиодный дисплей, но не постоянно, а только когда это требуется.

За основу проекта взял прошивку от Андрея Фролова, для микроконтроллера Tiny13. В прошивке изменил только время измерения, у него было раз в минуту, в моём случае будет значительно быстрее, из-за особенности применения.

схема 1
схема 1

В качестве измерительного элемента используется DS18B20 — это популярный цифровой датчик температуры, который взаимодействует с микроконтроллерами по уникальному протоколу 1-Wire.

DS18B20
DS18B20

Диапазон измерений: от -55°C до +125°C

Точность: ±0,5°C

Сигнал обрабатывается микроконтроллером, и отображается дисплейным модулем, на основе TM1637.

TM1637 могут незначительно отличаться
TM1637 могут незначительно отличаться

Ранее такой модуль уже применялся в моих проектах. Управляется по протоколу I2C.

Для реализации идеи с засыпанием применим модуль HC-SR505 — это миниатюрный пассивный инфракрасный (PIR) датчик движения, предназначенный для обнаружения движения людей или животных.

HC-SR505
HC-SR505

  • Рабочее напряжение: Широкий диапазон от 4,5 В до 20 В постоянного тока.
  • Потребляемый ток: обычно менее 60 мкА в режиме ожидания.
  • Расстояние обнаружения: до 3 метров.
  • Угол обнаружения: Конусообразный, менее 100 градусов.
  • Выходной сигнал: Цифровой (логический высокий уровень 3,3 В при обнаружении движения, низкий уровень 0 В, в состоянии покоя).
  • Время задержки: По умолчанию составляет примерно 8 секунд (±30%). Если движение продолжается, выходной сигнал остается высоким до тех пор, пока движение не прекратится.
Схема2
Схема2

Выходной сигнал с HC-SR505 поступает через резистор 1 кОм на базу транзистора 2n2222, коллектор которого включен в разрыв минусового (GND) проводника основной (первоначальной) схемы. Таким образом при отсутствии движения более 8 секунд минусовой провод размыкается. Визуально это будет не 8, а меньше, так как для считывания первого показания потребуется время около секунды.

Переключатель SW2 позволяет отключить ждущий режим, и перевести термометр в режим непрерывных измерений.

Питание осуществляется от трёх мизинчиковых батареек (3 Х ААА), через DC/DC повышающий преобразователь – китайский модуль на основе микросхемы ME2108A50PG. Ранее этот модуль уже описывался в статье про кухонный таймер. Можно применить другой похожий модуль.

Тумблер SW1 служит для полного отключения питания.

Спаял схему на макетной плате. Модули и тумблер разместил на корпусе. В качестве корпуса использовал распаячную коробку 100х100х29, в меньшую не лезет держатель для трех батареек, из-за крепёжной стойки по центру.

Внешний вид
Внешний вид

Плату нужно разместить таким образом, чтобы измеритель DS18B20 оказался максимально близко от корпуса, и на его уровне просверлить отверстие соответствующих размеров, я 6 мм просверлил.

Устройство работает, как планировалось. Ток потребления в режиме ожидания составил 30 микроампер, в режиме измерения 8,3 миллиампера. Таким образом трёх батареек должно хватить на несколько лет ожидания, или несколько дней непрерывных измерений. По идее можно рассмотреть снижение питания до двух батареек, модуль на ME2108A50PG работает от 0,9 В. Конечно ток потребления может слегка отличаться в зависимости от качества конкретных модулей.

При программировании микроконтроллера фьюзы следует оставить с заводскими настройками (по умолчанию). Исходник Atmel studio6.2) и hex файл прилагаются по ссылке:

Termomrtr.7z — Яндекс Диск

Видео: