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).
Статьи по теме:
Недавні записи
- Фільтрація Back-EMF. Безсенсорні BLDC мотори
- Text to speech. Українська мова
- LCD Display ST7567S (IIC)
- Розпізнавання мови (Speech recognition)
- Selenium
- Комп'ютерний зір (Computer Vision)
- Деякі думки про точність вимірювань в електроприводі
- Датчики Холла 120/60 градусів
- Модуль драйверів напівмосту IGBT транзисторів
- Драйвер IGBT транзисторів на A316J
Tags
barometer dht11 wifi bmp280 meteo ssd1306 uart books dc-dc lcd tim ssd1331 timer programmator battery exti mpx4115a motor flask nodemcu usb dma html java-script rs-232 st-link 3d-printer rfid esp8266 nvic encoder gpio piezo eb-500 brushless docker sms pmsm ngnix servo examples avr led smd i2c bkp eeprom usart solar soldering python flash stm32 raspberry-pi bme280 mpu-9250 hih-4000 foc bldc sensors rtc pwm capture adc max1674 atmega gps bluetooth remap mongodb mpu-6050 websocket css git watchdog displays ethernet web options
Архіви