Модуль датчика DHT11 предназначен для снятия данных о температуре и влажности окружающей среды. Этот довольно популярный датчик не обладает высоким быстродействием и точностью, но зато прост, недорог и отлично подходит для обучения. Он выполнен из двух частей — емкостного датчика влажности и термистора. Чип, находящийся внутри, выполняет аналого-цифровое преобразование и выдает цифровой сигнал, который можно считать с помощью любого микроконтроллера. Для работы с модулем DHT11 вам не потребуется какой-либо дополнительной обвязки, при питании от источника 5 В постоянного тока (справедливо для данной сборки, но не для датчика отдельно).
Модуль оборудован трехпиновым разъемом стандарта 2.54мм:
- GND – Подключается к выводу GND;
- VCC – Подключается к выводу +5V;
- DATA – Подключается к цифровому выводу, например, Arduino или любого микроконтроллера.
Пример
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include <Wire.h> // библиотека для управления устройствами по I2C #include <LiquidCrystal_I2C.h> // подключаем библиотеку для LCD 1602 #include <dht11.h> // подключаем библиотеку для DHT11 #define DHT11PIN 2 // сигнал DHT11 подключаем к 2-му цифровому выводу LiquidCrystal_I2C lcd(0x27,16,2); // присваиваем имя lcd для дисплея 16х2 dht11 DHT11; void setup() // процедура setup { lcd.init(); // инициализация LCD дисплея lcd.backlight(); // включение подсветки дисплея } void loop() // процедура loop { int chk = DHT11.read(DHT11PIN); // Влажность lcd.setCursor(0, 0); lcd.print("Humidity:"); lcd.print((float)DHT11.humidity, 2); lcd.print(" % "); // Температура lcd.setCursor(0, 1); lcd.print("Temp: "); lcd.print((float)DHT11.temperature, 2); lcd.print(" C "); // Частота обновления в мс delay(1000); } |