В повседневной жизни влажность выступает немаловажным параметром, от степени влажности воздуха немало зависит наше самочувствие. Особенно чувствительными к влажности являются метеозависимые люди. При высокой сухости воздуха даже здоровые люди ощущают дискомфорт.
В этой статье описан простой для повторения цифровой измеритель влажности и температуры воздуха, выполненный на WIFI модуле ESP12F, датчике DHT22 (или DHT11) и OLED дисплее SH1106 (или SSD1306). Измеренные значения температуры и влажности отображаются на OLED дисплее, а также передаются в облачный сервис ThingSpeak.
Очень кратко познакомимся с применяемыми в этом устройстве компонентами:
1. Модуль Wi-Fi ESP-12F - основан на микроконтроллере ESP8266 китайского производителя Espressif. Микроконтроллер ESP8266 является высоко интегрированным чипом, предназначенным для соединения по беспроводной связи. Имеет набор встроенных протоколов TCP/IP. Помимо Wi-Fi микроконтроллер отличается возможностью исполнять программы из внешней флеш-памяти с интерфейсом SPI. Может программироваться через среду Arduino IDE. Позволяет используя определенные прошивки, обходиться без дополнительных микроконтроллеров — то есть управлять чем-либо можно напрямую с портов GPIO.
Характеристики ESP12F:
- WI-FI: 802.11 b/g/n с WEP, WPA, WPA2
- режимы работы: клиент (STA), точка доступа (AP), клиент+точка доступа (STA+AP)
- встроенный 32-битный MCU с низким энергопотреблением;
- встроенный 10-битный АЦП;
- напряжение питания: от 3 до 3,6 В
- максимальный потребляемый ток: до 215мА в зависимости от режима работы
- частота процессора: 80 — 160 МГц
- диапазон рабочих температур от минус 40 до плюс 125 градусов по Целсию.
2. В качестве сенсора влажности и температуры используется недорогой датчик серии DHT: DHT22 или DHT11. Эти датчики из за своей дешевизны отлично подходят для радиолюбительских проектов. Датчики состоят из емкостного сенсора влажности, термистора и микросхемы, преобразующей аналоговый сигнал в цифровой. Считать цифровой код, содержащий значения измеренной влажности и температуры, можно с помощью любого, даже очень простого, микроконтроллера. Обмен информации между микроконтроллером и датчиком серии DHT ведется по однопроводному последовательному интерфейсу.
Распиновка выводов и внешний вид датчиков DHT11 и DHT22 практически одинаковы.
Датчики немного отличаются техническими характеристиками.
Характеристики датчика DHT11:
- Очень дешевый
- Питание от 3 до 5В,
- Ток потребления - не более 2,5 мА,
- Диапазон измерения влажности - от 20% до 80%,
- Точность измерения в вышеуказанном диапазоне плюс/минус 5%,
- Диапазон измерения температуры - от 0 до 50 градусов по Цельсию,
- Точность измерения плюс/минус 2%,
- Частота измерения не более 1Гц,
Характеристики датчика DHT22:
- Дешевый,
- Питание от 3 до 5В,
- Ток потребления - не более 2,5 мА,
- Диапазон измерения влажности - от 0% до 100%,
- Точность измерения в вышеуказанном диапазоне плюс/минус 2...5%,
- Диапазон измерения температуры - от минус 40 до плюс 125 градусов по Цельсию,
- Точность измерения плюс/минус 0,5 градусов по Цельсию.
- Частота измерения не более 0,5Гц,
В качестве индикатора в этом проекте могут использоваться OLED дисплеи на контроллере SSD1306, размер которого составляет 0,96" или на контроллере SH1106, с размером 1,3" по диагонали.
Характеристики дисплея на контроллере SSD1306:
- Размеры дисплея: 27мм х 27мм х 4,1мм,
- Разрешение экрана: 128 х 64 пиксела,
- Угол обзора: >160 градусов,
- Цвет: черно-белый (белые пикселы могут светиться зеленым, голубым),
- Потребляемая мощность: не более 80 мВт,
- Питание: от 3 до 5В.,
- Рабочая температура от минус 30 до плюс 70 градусов по Цельсию,
- Протокол обмена с микроконтроллером: I2C или SPI.
Характеристики дисплея на контроллере SH1106 аналогичны вышеописанным характеристикам дисплея на контроллере SSD1306, за исключением размеров, рабочей части дисплея (1,3"), так и габаритных размеров.
Познакомившись с применяемыми компонентами перейдем к сборке схемы цифрового измерителя влажности и температуры:
В схеме применены следующие элементы:
- А1 - модуль ESP12F,
- U1- датчик DHT22 (или DHT11);
- D1 - микросхема AMS1117ADJ;
- R1 - резистор 200 Ом, 0.125Вт;
- R2 - резистор 120 Ом, 0.125 Вт;
- R3...R8 - резистор 4,7 кОм, 0.125 Вт;
- С1 - конденсатор 0,47...1 мкФ;
- С2 - конденсатор 47...100 мкФ, 15...25В;
- С3 - конденсатор 0,47...1 мкФ;
- С4 - конденсатор 22...47 мкФ, 15В;
- X2 - разъем PLS-6 (для загрузки программного обеспечения, контакты 5 и 6 - при занесении программы необходимо закоротить.),
- X1 - любой разъем для подачи питания (5В).
Программное обеспечение измерителя влажности и температуры написано в среде разработки ARDUINO и находится в конце статьи (скейтч и библиотеки). При чем для разных индикаторов скейтчи разные. Выберайте скейтч соответствующий Вашему дисплею.
Прежде чем загружать программу в устройство - необходимо внести некоторые изменения в скейтч, а именно указать следующие данные:
- Имя Вашей WIFI сети;
- Пароль к WIFI сети;
- API Key ThingSpeak;
- Параметры датчика (тип датчика и порт ESP8266 к которому датчик подключен).
После успешной загрузки кода:
- на индикаторе будут отображаться значения температуры и влажности воздуха в месте установки датчика,
- в мониторе последовательного порта вы можете увидеть результаты измерений и сообщения об отправке данных в облачный сервис THingSpeak,
- и на Ваш канал сервиса ThingSpeak начнут поступать данные, аналогично моим:
Ниже представлен мой вариант конструкции измерителя влажности и температуры.