DHT11 - цифровой датчик температуры и влажности
Не так давно, наткнулся на цифровой датчик влажности и температуры DHT11 (описание DHT11.pdf, DHT11_a.pdf). Когда то купил, да так и никуда и не пристроил. Решил проверить работу этого датчика. Подключил его к тестовой плате, подключил символьный дисплей. Передача данных выполняется по единственному проводу. Датчик имеет 4 вывода, но задействовано только 3. Схема подключения датчика:
Библиотеку нашел в интернете (скачать dht11.zip). Все заработало сразу, никаких проблем. Пример кода:
#include
#include <avr/io.h>
#include "lcd_lib.h"
#include "dht11.h"
char buffer[8];
int main( void )
{
// Инициализация LCD
LCDinit();
// Выключаем курсоор
LCDcursorOFF();
// Очищаем дисплей
LCDclr();
int8_t temperature = 0;
int8_t humidity = 0;
while(1) {
humidity = dht11_gethumidity();
temperature = dht11_gettemperature();
LCDGotoXY(0,0);
sprintf(buffer, "T=%02d", temperature);
LCDstring(buffer,4);
LCDGotoXY(0,1);
sprintf(buffer, "H=%02d", humidity);
LCDstring(buffer,4);
}
}
Что хочется сказать о датчике DHT11. У него есть одно преимущество - цена (около 1.5 евро в розницу). Все остальные характеристики, скажем, так, весьма скромные. Особенно огорчило то, что работает DHT11 только при положительных температурах 0-50 oС. Относительную влажность воздуха измеряет от 20% до 90%. При этом если быть полностью честным, то при температуре около нуля влажность измеряется в пределах 30%-90%, а при высоких температурах, около 50 oС, в пределах 20%-80%. При этом погрешность измерений температуры 2%, А погрешность измерения влажности 5%! При определенных навыках на глазок можно точнее определить :).
Исходя из характеристик датчика, его можно смело назвать комнатным. DHT11 подойдет разве что для контроля влажности в помещении. Напомню, что нормальная влажность в помещении считается в пределах 40–60 %. Судя по пределам измерения датчика DHT11, он как раз и создавался для решения этой задачи. Применять его в метеостанциях в качестве уличного датчика в наших широтах нельзя.
Скачать пример DHT11+Atmega8Успехов!
P.S. Позже, когда писал эту статью, увидел что на сайте, где покупал этот датчик, был архив с примерами для AVR, PIC, Arduino (Скачать 3732.zip).
Статьи по теме:
Tags
dma dc-dc lcd eb-500 raspberry-pi tim wifi eeprom gpio piezo rfid usb encoder capture avr mongodb adc soldering ngnix gps css python options examples ethernet motor atmega sensors bkp exti led meteo mpu-9250 remap solar smd html docker hih-4000 programmator displays mpx4115a battery brushless web pmsm nodemcu watchdog rtc servo uart i2c mpu-6050 pwm usart sms git ssd1331 3d-printer flash nvic books websocket st-link ssd1306 max1674 foc stm32 java-script esp8266 timer bmp280 barometer dht11 rs-232 bluetooth bldc flask bme280
Архіви



