Самодельный термометр на микроконтроллере: ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ

Самодельный термометр на микроконтроллере

Устройство используется в домашних целях, один из его датчиков устанавливается на улице, другой в помещении. Индикация значений температуры осуществляется двумя сдвоенными светодиодными 7-сегментными индикаторами с общим катодом. Чтобы не было заморочек со считыванием 64 разрядного идентификационного кода датчика и определения, какой из них уличный, а какой комнатный, датчики подключены к разным ножкам МК, а не висят на одной шине 1-wire. Подключение уличного датчика удобно выполнить с помощью разъема, например типа stereo-джек 3,5мм.


Поиск данных по Вашему запросу:

Самодельный термометр на микроконтроллере

Схемы, справочники, даташиты:

Прайс-листы, цены:

Обсуждения, статьи, мануалы:

Дождитесь окончания поиска во всех базах.

По завершению появится ссылка для доступа к найденным материалам.

Содержание:

  • Термометр на ATmega8 и датчике DS18B20
  • Ремонт цифрового термометра своими руками
  • ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ
  • ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8
  • Цифровой термометр возвращается
  • Микроконтроллеры
  • Термометр на датчиках LM35 и Arduino UNO
  • Сдвоенный цифровой термометр на ATmega8 и DS18B20
  • Барометр и термометр своими руками

ПОСМОТРИТЕ ВИДЕО ПО ТЕМЕ: Самодельный термометр с большими цифрами (ATmega8 + DS18B20)

Термометр на ATmega8 и датчике DS18B20


Тем, кто не имеет пока возможности осилить измерители температуры на микроконтроллерах, рекомендуем собрать такую схемку. Термометр выполнен по мостовой схеме, где термочувствительным элементом являются, включенные последовательно, диоды VD1 и VD2. Когда мост уравновешен напряжение между точками А и Б равно нулю, следовательно микроамперметр PA1 покажет ноль. При повышении температуры, падение напряжения на диодах VD1 и VD2 уменьшается, баланс нарушается, а микроамперметр покажет наличие тока в цепи.

В качестве датчика температуры можно применять различные диоды, использованы Д, но в статье указывается, что подойдут КД, Д Лучшим вариантом было бы использование полноразмерных переменных резисторов с выводом их ручек на переднюю панель прибора. Микроамперметр PA1 любой, с током полного отклонения мкА. Выключатель питания SA1 любого типа. Светодиод VD3 служит для индикации включения термометра, он также может быть любым, например мигающим. Желательно, чтобы светодиод был маломощным и не расходовал заряд батареи в пустую.

Собранный прибор требует калибровки. При отключенном микроамперметре PA1 замеряют напряжение между точками А и Б, оно должно быть около 1,,2 В. Если напряжение составляет 4,5 В.

Если напряжение между точками А и Б невелико, то необходимого значения добиваемся регулировкой резистора R4. Затем устанавливаем минимальное сопротивление для резистора R3 и включаем обратно в схему микроамперметр PA1. Резистором R4 добиваемся, чтобы прибор показывал примерно 20 мкА это соответствует комнатной температуре в 20 градусов. Если датчик зажать в пальцах, то показания должны возрасти примерно до мкА примерно температура человеческого тела.

Прибор калибруется в начале и конце шкалы. Сначала датчик опускают в сосуд, наполненный водой с тающим льдом, как известно температура тающего льда равна 0 градусов.

При этом надо перемешивать воду со льдом, так чтобы температура в сосуде была везде одинакова. Подстройкой резистора R4 устанавливаем на микроамперметре 0.

Затем берем сосуд с водой температурой около 40 градусов, температуру воды надо контролировать при помощи ртутного термометра подойдет обычный медицинский термометр. Соответственно погружаем датчик в теплую воду и подстройкой резистора R3 добиваемся, чтобы показания микроамперметра совпали с показаниями ртутного термометра. Таким образом, получаем термометр для температурного диапазона градусов. Если нет возможности использовать ртутный термометр, то в качестве второй калибровочной точки можно использовать кипящую воду, как известно при нормальном атмосферном давлении температура кипения воду градусов.

Тогда температурный диапазон термометра будет градусов. Спасибо, за внимание. Автор статьи: Denev. В данной статье проведем обзор цифрового термометра, построенного на микроконтроллере Attiny, снабженного выносным цифровым датчиком DS18B Схема очень простая, содержит минимум деталей и ее запросто можно собрать своими руками.

В роли температурного датчика выступает микросхема DS18B20 фирмы Dallas.

В схеме термометра можно применить до 8 цифровых датчиков. Микроконтроллер взаимодействует с DS18B20 по протоколу 1Wire. Вначале происходит поиск и инициализация всех подключенных датчиков, затем с них происходит считывание температуры с последующим выводом на трехразрядный семисегментный индикатор HL1. Индикатор может быть применен как с общим катодом ОК , так и с общим анодом ОА.

Подобный индикатор так же был применен в схеме часов на Attiny Под каждый индикатор имеется своя прошивка. Измерять температуру можно как дома, так и на улице, для этого необходимо вынести DS18B20 за окно. Скачать файлы прошивки и печатной платы 1,0 Mb, скачано: 5 Измеритель предназначен для измерения температуры воздуха, а если защитить датчик, то и любой другой среды в диапазоне Схема термометра представляет собой мост постоянного тока, в одно плечо которого включен терморезистор, а индикатором служит головка микроамперметра После уравновешивания моста напряжение в измерительной диагонали равно нулю.

Разбаланс моста вызывает появление напряжения положительной или отрицательной полярности — в зависимости от направления разбаланса. Если менять полярность питающего напряжения при разбалансе, полярность напряжения в измерительной диагонали моста будет одинакова при измерении положительных и отрицательных температур, и можно использовать обычную головку с нулевым делением слева, а не в середине шкалы. Измерения производятся при нажатии кнопки SB1. I Детали. R6 — МПТ Ее можно заменить на М24 или М с нулем посередине шкалы, тогда тумблер SA1 не нужен.

Такой элемент служит Детали измерителя располагаются на плате из одностороннего фольгированного стеклотекстолита размерами x мм, выполненной методом прорезания дорожек в фольге.

Плата крепится к выводам головки, ее нижняя часть служит опорой измерителя. В верхней части платы устанавливается элемент питания, а на одной из боковых сторон — тумблер и кнопка.

Резисторы R4. R7 устанавливают в среднее положение. Терморезистор подключают проводом МГТФ необходимой длины 0, Температуру измеряют ртутным лабораторным термометром. Через Терморезистор, измеряющий температуру наружного воздуха, надо размещать таким образом, чтобы исключить попадание на него солнечных лучей. Андреев Ю. Резисторы: Справочник2.

Шульц Ю. Зачастую схемы собираются по остаточному принципу, то есть что-то где-то завалялось и из этого можно что-нибудь спаять. Вот это как раз таки тот случай, когда ничего не надо покупать, поскольку все элементы данного термометра достаточно известные. Применение дешёвых микросхем серии КЛА7 и КИЕ4 , даёт возможность создать цифровой термометр, который помимо своей простоты обладает ещё и высокой повторяемостью и точностью, достаточной для бытовых целей. В последнее время зачастую устанавливают цифровые датчики температуры, но тут им является обыкновенный терморезистор с отрицательным ТКС и сопротивлением около кОм.

Цифровой термометр изначально был задуман просто для бытовых целей, домашний, который всё своё время будет висеть где-нибудь у окна. Человека, прежде всего, интересует температура на улице. По этой причине термометр может иметь внешний датчик температуры, который располагается, к примеру, на внешней стороне рамы окна либо только внутренний, если вам нужны показания температуры в помещении.

Бывает, что нужно взглянуть на термометр при условиях плохого освещения, к примеру ночью. Для этого индикаторы ЖК, даже с подсветкой, не подойдут. Более лучшую читаемость при условиях плохого освещения дают светодиодные индикаторы типа АЛС. Характеристики термометра в плане погрешности измерений определяют настройкой градуирования по образцовому термометру.

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

Данный термометр интересен тем, что в нём используется другой метод.

Полупроводниковый терморезистор. Как правило, у полупроводникового терморезисторазависимость сопротивления от температуры обратная, по этой причине, при увеличении температуры, частота генерируемая этиммультивибратором возрастает, а при понижении температуры частота уменьшается.

Таким образом. Но здесь возникают сложности, связанные с тем, что все частотомеры предназначены дляизмерения частоты и индикации её в единицах частоты, а не температуры. За этими пределами погрешность сильно увеличивается по причине неравномерности зависимости частотымультивибратора от температуры датчика — терморезистора.

Следует заметить, что если сделать шкалу устройства в градусах по Кельвину, то точность винтервале от К до К будет довольно неплохой. Но надо будет организовать третий старший разряд. Печатная плата и конструкция корпуса термометра зависит от желаемого вами дизайна прибора, по этой причине она тут не представлена. Фото примера платы показано ниже. Вы можете, если нужно, питать этот цифровой термометр от батарей с напряжением 9 Вольт, а если вы задумали применять термометр исключительно с сетевым питанием, тогда вам нужно собрать схему стабилизатора на Рабочий вариант схемы был найден здесь.

Для сборки данного девайса понадобятся следующие компоненты: 1 Термодатчик DALLAS DS — самая главная часть всей схемы, датчиков можно прицепить несколько параллельно. По описанию каждый сенсор имеет собственный 64 битный ID, что позволяет использовать одновременно сенсоров на шине, длиной м, проверить не довелось, но два датчика на шине длиной 5 метров успешно работают.

Из следующей картинки можно понять как необходимо монтировать детали. На корпусе конденсатора есть пометка полярности — не ошибетесь, резистор полярности не имеет, паяем как хотим. Выводы датчика расположены следующим образом:. Монтаж можно вести прямо на разъеме, при некоторой сноровке, достаточно плотный монтаж можно уместить в корпусе разъема, что несомненно удобно и практично. Посмотреть на Яндекс. Подключать несколько датчиков нужно параллельно, в итоге получается примерно вот такая штуковинаПосмотреть на Яндекс.

Фотках Датчик на конце можно залить эпоксидкой и ему не будут страшны условия за окном. Термометр готов, и что особенно приятно, все работает без какой либо калибровки сенсоров. Для считывания показаний термометра потребуется программа digitemp, она есть в репозитариях популярных дистрибутивов Linux, установить сложности не составит.

Также у нее есть официальный сайт. Устройство было подключено к серверу, где уже давно его ждала система мониторинга cacti, теперь можно наблюдать такие интересные графики: Видно когда в комнате было открыто окно и как медленно под вечер опускается температура на улице.


Ремонт цифрового термометра своими руками

Самое подробное описание: ремонт цифрового термометра своими руками от профессионального мастера для своих читателей с фотографиями и видео из всех уголков сети на одном ресурсе. Цифровой термометр был задуман изначально как бытовой, домашний, который всю свою жизнь должен провисеть где-нибудь у окошка. Владельца термометра, прежде всего, волнует, какая температура на улице. Поэтому термометр может иметь внешний датчик температуры, расположенный, например, на внешней стороне рамы окна или только внутренний, если нужен контроль температуры в помещении. Часто надо посмотреть на термометр, когда условия освещения плохие — например, посреди ночи. Поэтому ЖК-индикаторы, даже с подсветкой, не подходят. Лучшую читаемость в условиях недостаточного освещения имеют светодиодные индикаторы типа АЛС.

Предлагаю свой вариант цифрового термометра с двумя датчиками температуры. Устройство выполнено на микроконтроллере ATmegaPU и двух.

ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ

Прибор, предназначенный для измерения температуры различных веществ воздух, газ, пар, жидкость, почва и т. Одним утром я проснулся и захотел узнать температуру на улице. Вместо того, чтобы идти в хозяйственный магазин и покупать стеклянный термометр, я решил сделать самодельный беспроводной термометр. Сдвоенный цифровой термометр на ATmega8 и DS18B20 Предлагаю свой вариант цифрового термометра с двумя датчиками температуры. Устройство используется в домашних целях, один из его датчиков устанавливается на улице, другой в помещении. Индикация значений температуры осуществляется двумя сдвоенными светодиодными 7-сегментными индикаторами с общим катодом, расположенными друг над другом. Термореле с цифровым датчиком температуры В описываемой конструкции простого термореле использован недорогой цифровой датчик температуры TCN,0. Малые размеры, низкая стоимость и легкость использования делают TCN75 идеальным для встраивания в различные устройства автоматики.

ЧАСЫ-ТЕРМОМЕТР НА МИКРОКОНТРОЛЛЕРЕ ATMEGA8

В данной статье проведем обзор цифрового термометра , построенного на микроконтроллере Attiny , снабженного выносным цифровым датчиком DS18B Схема очень простая, содержит минимум деталей и ее запросто можно собрать своими руками. В роли температурного датчика выступает микросхема DS18B20 фирмы Dallas. В схеме термометра можно применить до 8 цифровых датчиков. Микроконтроллер взаимодействует с DS18B20 по протоколу 1Wire.

Привет всем читателям и почитателям сайта Радиосхемы! Немного предыстории: вечером очень плохо видно показания уличного термометра, чтобы разглядеть положение стрелки, необходимо довольно долго вглядываться и иной раз пользоваться фонариком.

Цифровой термометр возвращается

Импульсные блоки питания Линейные блоки питания Радиолюбителю конструктору Светодиоды, ламы и свет 3D печать и 3D модели Этот цифровой термометр предназначен для длительного измерения и записи на жесткий диск компьютера информации о температуре с четырех датчиков, например в разных помещениях либо в четырех точках какого-либо устройства или конструкции. Посмотреть видео про этот проект. Устройство разрабатывалось для применения в системе регистрации данных для контроля температуры в нескольких точках помещения. Такой термометр можно использовать в быту, в качестве узла метеорологической станции или в промышленных условиях. Управляющая программа «прошивка» микроконтроллера Atmega8, используемого в термометре, написана на языке Си в довольно удобном на мой взгляд компиляторе mikroC PRO for AVR, который разрабатывается очень позитивной Сербской компанией Mikroelectronica.

Микроконтроллеры

Как,следует из схемы, электронный термометр состоит из входных и выходных электрических цепей, сетевого понижающего трансформатора питания 77 и собственно термометра, собранного на полупроводниковом датчике. Схема и прошивка часов: А схема термометра потерялась на просторах интернета: Но Некоторые комплектующие ЭРЭ в процессе изготовления термометра могут быть заменены аналогичными и не ухудшающими основные электрические параметры и технические характеристики электронного термометра, которые приведены ниже. Несложный термометр позволяет измерять температуру от нуля до плюс ста градусов. В роли температурного датчика выступает микросхема DS18B20 фирмы Dallas. В схеме термометра можно применить до 8 цифровых датчиков. Микроконтроллер взаимодействует с DS18B20 по протоколу 1Wire.

Предлагаю свой вариант цифрового термометра с двумя датчиками температуры. Устройство выполнено на микроконтроллере ATmegaPU и двух.

Термометр на датчиках LM35 и Arduino UNO

Самодельный термометр на микроконтроллере

Простые часы с термометром на микроконтроллере AVR ATtiny с выводом информации на семисегментный индикатор. Часы используют для отсчета времени микросхему DS — часы реального времени и источником резервного питания в 3 В. Температура измеряется при помощи датчика температуры DS18B Текущее значение времени и температуры происходит поочередно сначала время а потом температура с нтервалом в 4 секунды.

Сдвоенный цифровой термометр на ATmega8 и DS18B20

ВИДЕО ПО ТЕМЕ: Схема Комнатного термометра.

Схема и программа очень простого цифрового термометра с использованием микроконтроллера ATmega8 и датчика температуры DS18B Термометр позволяет измерять температуру от 0 до 99 градусов с точностью до 0,5 градусов с разрешением 0,1 градуса. Использовать в этой конструкции микроконтроллер с памятью 8 килобайт конечно расточительно, можно применить микроконтроллер и попроще. Но дело в том, что эта конструкция — основа для дальнейшего развития проекта с использованием цифрового датчика температуры DS18B Естественно, будет добавлена возможность измерять и отрицательные температуру.

На рис. В термометре, схема которого дана на рис.

Барометр и термометр своими руками

Логин или эл. Войти или Зарегистрироваться. Авторизация Логин или эл. Недавно занимался сборкой компьютера с полностью пассивным охлаждением. Чтобы было удобно контролировать температуру процессора, нужно было по быстрому собрать термометр. Или даже при полностью отключенном мониторе. Было решено собрать термометр на основе цифрового датчика DS18B20, дешёвого микроконтроллера AVR, и семисегментного индикатора.

Задавая через датчик любой ток в диапазоне от 0. Таким образом, измеряя напряжение на датчике, мы получаем возможность узнать температуру самого датчика. Данный микроконтроллер представляет из себя микросхему, функции которой можно изменять путем ее перепрограммирования.


Все своими руками Цифровой термометр с термопарой

В статье рассматривается простая схема цифрового термометра с модулем индикации, реализованном на микросхеме ТМ1637 и модулем преобразователя сигнала термопары в цифровой сигнал с использованием микросхемы МАХ6675. Внешний вид модулей на фото ниже.


Схема цифрового амперметра представлена на рисунке 1.

Основой схемы является микроконтроллер PIC16F628A с залитой в него программой. Благодаря китайским партнерам схема, как можно заметить получилась весьма и весьма простой. Каждую секунду микроконтроллер считывает цифровой код реальной температуры по последовательному протоколу SPI. Программа считывания данных с микросхемы МАХ6675 микроконтроллером PIC на Ассемблере представлена в статье «Программа взаимодействия MAX6675 с микроконтроллером PIC».

Далее из шестнадцати принятых бит программа выделяет нужные десять, преобразует числовое значение температуры в двоичном коде в двоично-десятичный код. Затем через табличные данные идет преобразование в семисегментный код, который передается в модуль индикации ТМ1637. Программа взаимодействия PIC контроллера с микросхемой ТМ1637 была рассмотрена в ранее опубликованной статье «Модуль TM1637 с PIC контроллером».

Вся схема питается стабилизированным микросхемой DA1 напряжением пять вольт. Трехвыводные однокристальные стабилизаторы с фиксированным напряжением пять бывают с разным максимальным входным напряжением, так что обратите на это внимание. Ток потребления термометра находится в пределах 15 миллиампер. Это вместе с током потребления индицирующего светодиода в модуле индикации ТМ1637. Этот светодиод находится на обратной стороне платы относительно индикатора. Для экономии энергии его можно исключить из схемы. При таком токе нагрузки в качестве микросхемы стабилизатора напряжения подойдет практически трехвыводной стабилизатор. Возможно, например, применение микросхемы LM78L05 в корпусе ТО-92. Ток нагрузки микросхемы – 100мА, а входное напряжение – 35 вольт.

В случае применения радиоэлементов в корпусах SMD в качестве DA1можно применить стабилизатор из серии AMS1117. Максимальное входное напряжение этого стабилизатора ограничено величиной восемнадцать вольт.

Все микросхемы устройства работают в импульсном режиме и паразитные пульсации питающего напряжения неизбежны, поэтому в целях улучшения фильтрации питающего напряжения и стабильности работы схемы, а также ее безотказной работы, в качестве конденсатора С1 стоит применить танталовый конденсатор. А конденсатор С2 при монтаже разместить непосредственно между выводами питания микроконтроллера.

Не думаю, что данная термопара рассчитана на измерение температуры +1023˚С (b’11 1111 1111’), хотя исходя из данных в документации, микросхема МАХ6675 имеет десяти разрядный АЦП. Я разогревал термопару газовой горелкой до +600˚С. Температура кипящей воды, измеренная данным термометром, составляла +102˚С. Я, думаю, для выпечки пирогов такой точности температуры вполне достаточно.

Успехов и удачи. К.В.Ю.
Цифровой_термометр_с_термопарой (1115 Загрузок)

Просмотров:3 979


Метки: MAX6675, PIC16F628A, термометр, ТМ1637, цифровой

Цифровой термометр | Проект «Сделай сам»

Медицинский термометр – это прибор, который есть в каждом доме. Здесь, в этом проекте «Сделай сам» , мы собираемся разработать цифровой термометр , используя очень мало компонентов, и это тоже легко. Здесь главная достопримечательность заключается в том, что проект DIY будет разрабатываться без помощи микроконтроллера.

В этом проекте «Сделай сам» мы используем датчик температуры LM35 для измерения температуры. Потенциометр также используется для целей калибровки. 4-битный АЦП будет преобразовывать значение в BCD. Там будет семисегментная интерфейсная ИС, которая будет взаимодействовать с дисплеями. Для коммутации используются транзисторы.

Блок -схема цифрового термометра

Схема цифрового термометра

Требуется для цифрового термометра

    .0033 CA3162-1
  1. ЛМ35-1
  2. 50k горшок-1
  3. 1к горшок-1
  4. 74LS47-1
  5. 1k резистор-3
  6. Семисегментный дисплей-3
  7. 2n3906 транзистор-3
  8. 560 Резистор-3

Работа цифрового термометра

Датчик температуры LM35 представляет собой устройство, выдающее напряжение, прямо пропорциональное температуре. Датчик температуры имеет 2 транзистора встроенный в него. Площадь эмиттера одного транзистора в 10 раз больше площади другого, что уменьшает ток через него на 1/10 th . Поскольку ток через 2 транзистора одинаков, что соответствует абсолютной температуре, на его резисторе будет напряжение. Он имеет встроенную схему для корректировки светящихся битовых вариаций значения. Абсолютная температура, измеренная в Кельвинах, будет преобразована в градусы Цельсия с помощью встроенного в нее усилителя.

Когда вы кладете палец на датчик температуры LM35, в зависимости от увеличения температуры с известной скоростью напряжение на диоде будет увеличиваться. На самом деле это падение напряжения представляет собой напряжение, возникающее между базой и эмиттером транзистора.
Потенциометр представляет собой переменный резистор, обычно называемый потенциометром. Здесь он используется для целей калибровки. Комнатная температура будет откалибрована так, чтобы во время снятия показаний. Горшок будет установлен соответственно.

АЦП (аналого-цифровой преобразователь) здесь используется 4-битный АЦП, CA3162. Значение датчика температуры будет преобразовано в соответствующий двоично-десятичный код. К контактам 8 th и 9 th этой микросхемы подключен потенциометр. Целью этого является регулирование напряжения на нем. Значение будет отображаться в градусах Цельсия на семисегментном дисплее с использованием интерфейсной ИС. Здесь используется интерфейс 74LS47, который будет преобразовывать сгенерированный двоично-десятичный код в шаблон, отображаемый на семисегментных дисплеях. К трехсегментному блоку индикатора подключены три транзистора. Эти транзисторы, 2н3906 предназначены для переключения. Транзистор будет выбирать MSB, NSB и LSB.

Короче говоря, когда вы кладете палец на датчик, генерируется соответствующее напряжение, которое, в свою очередь, преобразуется в двоично-десятичный код. Интерфейсная ИС преобразует этот код для отображения в семи сегментах.

Самодельный термометр / датчик влажности для умного дома с ESP32 и DHT22

По мере того, как я углублялся в игру «Умный дом», я столкнулся с типом устройств, о которых я никогда не думал: микроконтроллеры. Изучив возможности, я понял, что эти мелочи являются мощным и экономичным способом решения различных (легких) задач. Поскольку у меня уже завалялся DHT22, который использовался с Raspberry Pi, я решил купить микроконтроллер, чтобы построить небольшой самодельный термометр с использованием MQTT. Что может быть лучше устройства, чем (возможно) король всего этого: ESP32. Я выбрал Huzzah42 от Adafruit, но пожалел, что не получил Sparkfun Thing, поскольку он, кажется, лучше задокументирован, и по причинам, в которые я не хочу вдаваться, я не большой поклонник Adafruit. Кроме того, Adafruit урезал возможности глубокого сна, поскольку энергопотребление их ESP32 намного выше, чем у других ESP32. В этом посте описывается самодельный датчик с ESP32 и DHT22.

Если вы заинтересованы в воссоздании этого, но не знаете, с чего начать, я настоятельно рекомендую плейлист ESP32 и Arduino из «Просто объяснено», из которого я буду ссылаться на отдельные видео в ходе этого поста.

Как это работает?

При подключении к источнику питания ESP32 включается, подключается к указанной беспроводной локальной сети и получает значения температуры и влажности от датчика DHT22, который подключен к контактам GPIO. После получения показаний от датчика он создает MQTT-сообщение, действительное для InfluxDB, и отправляет его на MQTT-сервер (mosquitto). Наконец, он уходит в глубокий сон, чтобы сохранить энергию, пока не проснется через указанное количество времени, чтобы повторить процесс.

Поскольку MQTT является стандартом де-факто для домашней автоматизации, легко подписаться на эту тему и получать показания датчиков в большинстве инструментов по вашему выбору.

Но почему?

Этот проект был главным образом проверкой концепции и прекрасной возможностью для меня узнать о микроконтроллерах и разработке с этим типом электроники. Вначале я думал о создании нескольких таких пар, добавлении USB-блока питания, чтобы сделать его мобильным, и распределить их по квартире, чтобы в каждой комнате были показания температуры и влажности. Это оказалось неэффективным и более сложным, чем предполагалось. Я более подробно расскажу об этом в главе Проблемы и почему я снова разобрал внизу.

Подключение ESP32 и DHT22

Если вы покупаете другую плату ESP32, обязательно сверьтесь с ее схемой распиновки, чтобы правильно подключить контакты к DHT 22. Для моего Huzzah42 я подключил 3 контакта DHT22 следующим образом:

10110 Out Pin (Green)
DHT22 ESP32 GPIO
+ PIN -код (желтый) 3V PIN -код
Out Pin (Green) GPIIIO
GPIIIIIO
.0111
– контакт (синий) контакт GND

Также есть DHT22 с 4 контактами, которые, вероятно, подключены по-другому. Обязательно посмотрите схему выводов вашего микроконтроллера. Контакт 3 вольта и контакт заземления, вероятно, всегда очень четкие, но контакт данных должен быть установлен соответствующим образом. Я выбрал контакт 21.

Отличное видео о соединении ESP32 + DHT22, которое я могу порекомендовать, взято из плейлиста «Просто объяснено», упомянутого ранее в этом посте.

Создание кода для ESP32

Поскольку для работы с DHT22 есть несколько отличных библиотек от Adafruit, я решил использовать их библиотеки для этого проекта. Проведя небольшое исследование перед тем, как сделать первый шаг в мир микроконтроллеров, я наткнулся на отличный фреймворк для создания приложений и управления зависимостями: platformIO. Благодаря расширенному дополнению Visual Studio Code он дает толчок развитию и очень поддерживает меня в моих начинаниях. В плейлисте также есть несколько (больше, чем ссылка здесь) видео с Простое объяснение для установки и работы с platformIO.

Сам исходный код не очень сложен и говорит сам за себя. Необходимо определить датчик DHT22, wifi и брокера mqtt. Поскольку я хотел, чтобы ESP32 переходил в глубокий сон (чтобы использовать меньше энергии, когда данные не передаются), функция цикла не используется. После выхода из глубокого сна микроконтроллер снова выполнит функцию настройки и, наконец, вернется в глубокий сон. Есть также несколько отличных видеороликов о глубоком сне и различных других режимах питания в связанном плейлисте Youtube.

Полезная нагрузка сообщения MQTT имеет следующий формат и отправляется в тему под названием home/sensors .

 домашняя температура = 24,0, влажность = 45,9 

Я загрузил свой код (весь проект platformIO) на Github, который можно найти здесь:

Чтение из MQTT

Поскольку данные отправляются брокеру MQTT, многие инструменты могут читать из MQTT для обработки этих данных. Я настроил Telegraf, который подписывается на указанную тему и записывает данные в InfluxDB. Некоторое время назад я написал пост на эту тему, который был сделан именно для этого варианта использования, вы можете найти его здесь. Это также причина, по которой я создал полезную нагрузку сообщения MQTT, как упоминалось выше, чтобы ее можно было легко записать в InfluxDB.

Интеграция в Home Assistant

Наличие данных в InfluxDB позволяет лучше интегрироваться с различными приложениями. Можно получить данные прямо из MQTT в Home Assistant, однако я хотел иметь возможность сохранять данные и проводить исторический анализ данных в будущем. По этой причине я решил записать данные в InfluxDB и использовать интеграцию с Home Assistant для отображения этих данных из InfluxDB. Я объяснил это более подробно в недавнем посте здесь.

Проблемы и почему я снова разобрал его

Выглядит все прекрасно и удивительно, правда? Нет, к сожалению нет. Моя идея заключалась в том, чтобы подключить к нему какой-нибудь USB-блок питания и использовать его в качестве мобильного датчика, который дополнительно улучшен за счет режима глубокого сна, в котором ESP32 потребляет гораздо меньше энергии. Однако я обнаружил, что у большинства повербанков на самом деле есть предохранительный выключатель, который останавливает повербанк от подачи энергии, когда принимающее устройство «ушло».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *