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
pmsm mongodb bme280 bmp280 exti nodemcu timer ssd1331 dma sms meteo max1674 foc stm32 i2c eeprom adc usart git java-script programmator ssd1306 watchdog nvic html flask raspberry-pi st-link mpu-9250 remap examples rs-232 hih-4000 css rtc bkp bluetooth bldc motor esp8266 mpu-6050 encoder capture soldering ngnix wifi usb flash rfid displays tim battery avr smd websocket 3d-printer barometer books lcd python servo eb-500 atmega web pwm piezo mpx4115a uart dht11 solar gps options dc-dc ethernet brushless docker sensors gpio led
Архіви



