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).
Статьи по теме:
Додати коментар
Недавні записи
- 🇺🇦 FOC Board STM32F103RB 🧩
- STM32 Motor control SDK - керування оборотами мотора за допомогою потенціометра 📑
- Flask✙Gunicorn✙Nginx➭😎
- STM32 Motor control SDK - програмне керування обертам мотора
- STM32 Motor control SDK - як створити перший проект
- Vue SVG. Приклад побудови живого параметричного креслення
- Вимірювання моменту мотора
- Vue SVG - компонент. Приклад 📑
- Flask + Vue 🏁 Финальный пример 🏁
- Flask, CORS, JSON-файл. Пример#6
Tags
bldc brushless stm32 motor web html css flask atmega foc git java-script pmsm raspberry-pi python websocket mongodb esp8266 nodemcu st-link tim timer docker ngnix programmator ssd1331 ssd1306 wifi uart meteo bme280 bmp280 i2c gps mpu-6050 mpu-9250 sensors 3d-printer options usb barometer remap watchdog flash eeprom rtc bkp encoder pwm servo capture examples dma adc nvic usart gpio books battery dc-dc sms max1674 avr lcd dht11 piezo rs-232 rfid solar exti bluetooth eb-500 displays ethernet led smd soldering mpx4115a hih-4000
Архіви