This is a troubleshooting guide for the most common issues with the DHT sensor when using ESP32, ESP8266, Arduino, or similar boards.
If you get an error message in your serial Monitor while reading the temperature and humidity from the DHT11, DHT22, AM2302 or AM2301 sensor, follow the next steps to see if you can make it work.
“Failed to read from DHT sensor!” or Nan readings
If your DHT11/DHT22 sensor returns the error message “Failed to read from DHT sensor!” or the DHT readings return “Nan”:

Try one of the next troubleshooting tips.
1. Wiring
When you’re building an electronics project, you need to double-check the wiring or pin assignment. After checking and testing that your circuit is properly connected, if it still doesn’t work, continue reading the next troubleshooting tips.
2. Power
The DHT sensor has an operating range of 3V to 5.5V (DHT11) or 3V to 6V (DHT22). If you’re powering the sensor from a 3.3V pin, in some cases powering the DHT with 5V solves the problem.
3. Bad USB port or USB cable
Sometimes powering the ESP32, ESP8266, Arduino or similar boards directly from a PC USB port is not enough. Try to plug it to a USB hub powered by an external power source. It might also help replacing the USB cable with a better or shorter one. Having a USB port that supplies enough power or using a good USB cable often fixes this problem.
4. Power source
As mentioned in the previous tip, your board (ESP32, ESP8266, Arduino, etc) might not be supplying enough power to properly read from the DHT sensor. In some cases, you might need to power your board with a power source that provides more current.
5. Sensor type
Double-check that you’ve uncommented/commented in your code the right sensor for your project. In this case, we are selecting the DHT22:
//#define DHTTYPE DHT11 // DHT 11
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321
//#define DHTTYPE DHT21 // DHT 21 (AM2301)
6. Sampling rate
The DHT sensor is very slow getting the readings (the sensor readings may take up to 2 seconds). In some cases, increasing the time between readings solves the problem.
7. DHT sensor is fried or broken
Unfortunately, these cheap sensors sometimes look totally fine, but they are fried/broken. So, even though you assembled the right circuit and code, it will still fail to get the readings. Try to use a different sensor to see if it fixes your problem.
8. Wrong baud rate or failed to upload code
If you don’t see anything in your Arduino IDE Serial Monitor, double-check that you’ve selected the right baud rate, COM port or that you’ve uploaded the code successfully.
While building our projects, we’ve experienced similar issues with the DHT and it was always solved by following one of the methods described earlier.
Fatal error: Adafruit_Sensor.h: No such file or directory
There’s also a common error that happens when you try to compile the code. If you receive the following error:
fatal error: Adafruit_Sensor.h: No such file or directory
#include <Adafruit_Sensor.h>
You need to install the Adafruit Unified Sensor driver library. In your Arduino IDE, type in the search box “Adafruit Unified Sensor“, scroll all the way down to find the library and install it.

After installing the library, restart your Arduino IDE and the code should compile without the error message.
Wrapping Up
We hope you’ve found this guide useful. If you encounter any other issues, please post them in comments below and we’ll try to help you solve your problem.
We have other tutorials with DHT sensors that you might find useful:
- Complete Guide for DHT11/DHT22 with ESP32
- Complete Guide for DHT11/DHT22 with Arduino board
- Complete Guide for DHT11/DHT22 using MicroPython with ESP32/ESP8266
- ESP32 DHT11/DHT22 Web Server using Arduino IDE
- ESP8266 DHT11/DHT22 Web Server using Arduino IDE
- MicroPython: ESP32/ESP8266 with DHT11/DHT22 Web Server
- Raspberry Pi Pico with DHT11/DHT22 Temperature and Humidity Sensor (Arduino IDE)
Thanks for reading.
СОДЕРЖАНИЕ ►
- Устройство датчика температуры DTH11 Arduino
- Подключение датчика DHT11 к Arduino Uno
- Код сенсора температуры и влажности DHT11
- Код dht11 подключение к Ардуино с дисплеем
- Подключение датчика DHT22 к Arduino Uno
- Код dht22 подключение к Ардуино с дисплеем
Расскажем, как подключить датчик температуры и влажности к Ардуино, как получить данные с датчика на мониторе порта. На этом занятии мы познакомимся с цифровым датчиком температуры и влажности DTH11 с трех пиновым разъемом стандарта 2.54 мм. Рассмотрим устройство и назначение датчиков влажности и температуры. Научимся добавлять библиотеки для датчиков и плат расширений Arduino Nano.
Устройство DTH11 Ардуино: распиновка, datasheet
На занятии мы будем использовать датчик DHT11 или DHT22, смонтированный на плате. DHT11 — это цифровой датчик, состоящий из термистора и емкостного датчика влажности. Наряду с невысокой стоимостью DHT11 имеет следующие характеристики: питание осуществляется от 3,5-5V, определение температуры от 0 до 50 градусов с точностью 2 град, определение влажности от 20% до 95% с 5% точностью.
Модуль DHT11 оборудован трех пиновым разъемом и подключается по схеме:
G — Подключается к выводу GND
V — Подключается к выводу +5V
S — Подключается к цифровому выводу ( Pin2 )
Термистор — это термический резистор, сопротивление которого изменяется с температурой, т.е. увеличение температуры приводит к падению его сопротивления. По сути термистор — это термометр сопротивления, изготовленный на основе смешанных оксидов переходных металлов. Относится к измерительной технике и может быть использован для автоматического измерения температуры в различных средах.
Емкостной датчик влажности — это конденсатор с переменной емкостью, который содержит токопроводящие обкладки из медной фольги на текстолите. Этот конденсатор заключен в герметичный чехол, поверх которого расположен влагопоглощающий слой. При попадании частиц воды на этот слой, меняется его диэлектрическая проницаемость, что приводит к изменению емкости конденсатора.
Как подключить DHT11 к Ардуино Уно
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega
- модуль DHT11 / DHT22 Ардуино
- макетная плата
- 2 светодиода и 2 резистора на 220 Ом
- провода «папа-папа» и «папа-мама»
- библиотека DHT.h
На этом занятии мы приведем для примера два скетча. Первый скетч будет отсылать данные с модуля DHT11 на последовательный монитор порта компьютера. Во втором скетче мы будем использовать вывод данных на жк дисплей — LCD 1602 модуль. LCD модуль можно будет использовать в дальнейшем в любом автономном устройстве, например, при конструировании «Домашней метеостанции» или «Умной теплицы».
Необходимо установить библиотеку для работы с датчиком DHT11. Для этого необходимо скачать архив по ссылке, извлечь папку «DHT11» и переместить ее в раздел «C:\Program Files\Arduino\libraries» на своем компьютере. При использовании датчика DHT11, необходимо подключать библиотеку в скетче. Загрузите следующую программу после подключения датчика температуры воздуха DHT11 к Ардуино.
Скетч. Ардуино DHT11 датчик температуры и влажности
#include <DHT.h> // подключаем библиотеку для датчика DHT dht(2, DHT11); // сообщаем на каком порту будет датчик void setup() { dht.begin(); // запускаем датчик DHT11 Serial.begin(9600); // подключаем монитор порта } void loop() { // считываем температуру (t) и влажность (h) float h = dht.readHumidity(); float t = dht.readTemperature(); // выводим температуру (t) и влажность (h) на монитор порта Serial.print("Humidity: "); Serial.println(h); Serial.print("Temperature: "); Serial.println(t); }
Программа для датчика температуры DHT11 Arduino:
- переменные «h» и «t» являются типом данных float, которая служит для хранения чисел с десятичным разделителем (вре11 подключение к ардуино);
- команда
Serial.print()
выводит информацию на порт без переноса строки, командаSerial.println()
выводит информацию на порт с переносом строки.
Скетч. Подключение к Ардуино DHT11 и вывод на LCD 1602
#include <Wire.h> // библиотека для протокола I2C #include <LiquidCrystal_I2C.h> // подключаем библиотеку для LCD 1602 #include <DHT.h> // подключаем библиотеку для датчика LiquidCrystal_I2C LCD(0x27,16,2); // присваиваем имя LCD для дисплея DHT dht(2, DHT11); // сообщаем на каком порту будет датчик void setup() { LCD.init(); // инициализация LCD дисплея LCD.backlight(); // включение подсветки дисплея dht.begin(); // запускаем датчик DHT11 } void loop() { // считываем температуру (t) и влажность (h) float h = dht.readHumidity(); float t = dht.readTemperature(); // выводим температуру (t) и влажность (h) на жк дисплей LCD.setCursor(0,0); LCD.print("Humidity: "); LCD.print(h); LCD.setCursor(0,1); LCD.print("Temperature: "); LCD.print(t); delay(1000); LCD.clear(); }
Программа для датчика владности DHT11 Arduino:
- для подключения датчика к микроконтроллеру можно использовать любой пин общего назначения, указав его в скетче;
- команда
LCD.clear()
в программе очищает экран дисплея от надписей для вывода новых значений с сенсора температуры DHT11 Arduino.
Как подключить DHT22 к Ардуино Уно
Обратите внимание, что распиновка модулей у разных производителей может отличаться. При неправильном подключении питания, сенсор может выйти из строя. Дисплей подключается к шине i2c, расположенной на пинах SDA (A4) и SCL (A5) платы Ардуино Уно и Нано. При работе с платой Ардуино Мега подключение дисплея производится к интерфейсу i2c на пинах SDA (20) и SCL (21).
Схема подключения DHT22 к плате ничем не отличается от предыдущего примера, а сама программа отличается только одной строчкой, где мы указываем тип датчика — DHT22, вместо DHT11. После того, как вы собрали схему с дисплеем и DHT22, как показано на картинке выше, — загрузите следующий пример простой программы с универсальной библиотекой DHT.h, которая подходит для этих двух модулей.
Скетч. Подключение к Ардуино DHT22 и вывод на LCD 1602
#include <Wire.h> // библиотека для протокола I2C #include <LiquidCrystal_I2C.h> // подключаем библиотеку для LCD 1602 #include <DHT.h> // подключаем библиотеку для датчика LiquidCrystal_I2C LCD(0x27,16,2); // присваиваем имя LCD для дисплея DHT dht(2, DHT22); // сообщаем к какому порту подключен DHT22 void setup() { LCD.init(); // инициализация LCD дисплея LCD.backlight(); // включение подсветки дисплея dht.begin(); // запускаем датчик DHT22 } void loop() { // считываем температуру (t) и влажность (h) float h = dht.readHumidity(); float t = dht.readTemperature(); // выводим температуру (t) и влажность (h) на жк дисплей LCD.setCursor(0,0); LCD.print("Humidity: "); LCD.print(h); LCD.setCursor(0,1); LCD.print("Temperature: "); LCD.print(t); delay(1000); LCD.clear(); }
Программа для датчика температуры DHT22 Arduino:
- при необходимости получать значения температуры и влажности без знаков после запятой — используйте тип данных int, вместо float.
Заключение. Мы рассмотрели в этом обзоре, как подключить DHT11 и DHT22 к Arduino. Представили несколько примеров программ для вывода информации с цифрового датчика на аппаратный монитор порта Arduino IDE и дисплей 1602. С датчиком DHT11 существует множество проектов метеостанций на Ардуино, которые вы сможете сделать самостоятельно, внимательно изучив информацию на этой странице.
Полезные ресурсы:
- Библиотека — https://github.com/adafruit/DHT-sensor-library
- Datasheet DHT11 — http://www.datasheetcafe.com/dht11-datasheet-sensor/
- Datasheet DHT22 — http://www.datasheetcafe.com/dht22-datasheet-pdf/
Offline
Зарегистрирован: 30.07.2017
Подключил dht11 к arduino uno от robotdynю Не работает. Не удаётся считать данные с датчика. Я попробовал множество библиотек. И разных кодов. Прикрепил последний, который использую. Помогите завести датчик.
Использую этот код
/*
* TempHumidity.cpp
*
* Sample driver application to test the Dht11 module.
*/
#include «Arduino.h»
#include «Dht11.h»
enum {
// The data I/O pin connected to the DHT11 sensor
DHT_DATA_PIN = 2,
// The baud rate of the serial interface
SERIAL_BAUD = 9600,
// The delay between sensor polls.
POLL_DELAY = 2000,
};
/*
* setup
*
* One-time initialization of the module.
*/
void setup() {
Serial.begin(SERIAL_BAUD);
Serial.print(«Dht11 Lib version «);
Serial.println(Dht11::VERSION);
}
/*
* loop
*
* Code to be executed repeatedly.
*/
void loop() {
static Dht11 sensor(DHT_DATA_PIN);
switch (sensor.read()) {
case Dht11::OK:
Serial.print(«Humidity (%): «);
Serial.println(sensor.getHumidity());
Serial.print(«Temperature (C): «);
Serial.println(sensor.getTemperature());
break;
case Dht11::ERROR_CHECKSUM:
Serial.println(«Checksum error»);
break;
case Dht11::ERROR_TIMEOUT:
Serial.println(«Timeout error»);
break;
default:
Serial.println(«Unknown error»);
break;
}
delay(POLL_DELAY);
}
-
#1
Имеется: NODEMCU V3, датчик температуры и влажности DHT11
Прошивка:
Код:
NodeMCU custom build by frightanic.com
branch: master
commit: 11592951b90707cdcb6d751876170bf4da82850d
SSL: false
modules: dht,file,gpio,http,i2c,mqtt,net,node,sjson,tmr,uart,websocket,wifi
build created on 2018-12-30 19:20
powered by Lua 5.1.4 on SDK 2.2.1(6ab97e9)
Скетч самый простой отсюда:
Код:
pin = 5
status, temp, humi, temp_dec, humi_dec = dht.read(pin)
if status == dht.OK then
-- Integer firmware using this example
print(string.format("DHT Temperature:%d.%03d;Humidity:%d.%03d\r\n",
math.floor(temp),
temp_dec,
math.floor(humi),
humi_dec
))
-- Float firmware using this example
print("DHT Temperature:"..temp..";".."Humidity:"..humi)
elseif status == dht.ERROR_CHECKSUM then
print( "DHT Checksum error." )
elseif status == dht.ERROR_TIMEOUT then
print( "DHT timed out." )
end
Вот такие значения приходят с датчика:
DHT Temperature:665.900;Humidity:947.200
Значения увеличиваются/уменьшаются в соответствии с изменениями окруж. среды. Вот только приходят в неверном формате. Может кто сталкивался?
Последнее редактирование:
-
#2
Перепрошил на AT v0.23 SDK 1.0.1. С бибилиотекой DHT-sensor-library для Arduino IDE все работает нормально. Показатели с датчика приходят корректные. А вот с LUA прошивкой успехов так и не добился…
Последнее редактирование:
-
#3
Попробуйте время опроса датчика сделать не чаще чем две секунды.
-
#4
Попробуйте время опроса датчика сделать не чаще чем две секунды.
Сначала тоже так подумал. Так вот мой скрипт не выполняется циклично, а только один раз, если отправить команду dofile(«script1.lua»). Соответственно датчик опрашивается единожды. Наверно дело не в частоте опроса датчика..
-
#5
Сначала тоже так подумал. Так вот мой скрипт не выполняется циклично, а только один раз, если отправить команду dofile(«script1.lua»). Соответственно датчик опрашивается единожды. Наверно дело не в частоте опроса датчика..
Считайте два раза. Посмотрите результат второго считывания. Конечно с промежутком в 2 секунды.
-
#6
Считайте два раза. Посмотрите результат второго считывания. Конечно с промежутком в 2 секунды.
Изменил скрипт, как вы сказали: опрашиваю теперь дважды с паузой в 2 сек. Паузу вызываю следующим методом:
Код:
socket = require("socket")
function sleep(sec)
socket.sleep(sec)
end
sleep(2)
Ответ приходит все такой же:
DHT Temperature:665.900;Humidity:947.200
DHT Temperature:671.000;Humidity:1150.300
Подышал на датчик в промежутке между двумя запросами показаний — видно, что показания меняются
Пробовал использовать функцию dht.read11() вместо dht.read() для считывания показаний — приходит ошибка dht.ERROR_CHECKSUM
Последнее редактирование:
-
#7
Интересует такая же проблема.
Прошивку NodeMCU Lua SDK 2.2.1 брал отсюда NodeMCU custom builds
Я еще кроме этого подцепил резистор 10 кОм на +3,3В на Дата выход датчика DHT11.
Всё равно не помогло, датчик возвращает левые цифры.
Иногда (может раз в 10 минут) появляются корректная Температура и Влажность.
Последнее редактирование:
-
#8
у меня тоже с dht11какието левые значения.. лежит на окне, показывает 8-10-15 влажность.. если подышать влажность растет..
-
35.1 KB
Просмотры: 3
-
#9
у меня тоже с dht11какието левые значения.. лежит на окне, показывает 8-10-15 влажность.. если подышать влажность растет..
смотрите программу
вот здесь есть пример как выводить данные датчика в луа.
dht — NodeMCU Documentation
-
#10
Пробовал использовать функцию dht.read11() вместо dht.read() для считывания показаний — приходит ошибка dht.ERROR_CHECKSUM
А у меня только этот вариант прокатил. Просто добавит «11», и всё.
-
Приветствую.
Стал «счастливым обладателем» датчика DHT11… Но!
При использовании библиотеки предлагаемой в инструкции и взятой проге от туда жеш при первом опросе выдает и температуру и влажность, но все последующие опросы глосят «Error: start failed (stage 1)». Иных источников инфы по нему не нашел и от того вопрошаю здесь: как с этим бороться и что эти ошибки означают?
Привожу свой «код»:#include <OneWire.h>
#include <LiquidCrystal.h>
#include <PID_v1.h>
#include <dht.h>DHT sensor = DHT();
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
OneWire ds(10); // on pin 10
#define MAX_DS1820_SENSORS 2
byte addr[MAX_DS1820_SENSORS][8];double Setpoint, Input, Output, Adding=100.0, TTTemp;
double consKp=20.0, consKi=5.0, consKd=0.0, LR=0.0;int HighByte, LowByte, TReading, SignBit, Tc_100, N, P;
int PIDMode = AUTOMATIC;
PID myPID(&Input, &Output, &Setpoint, consKp, consKi, consKd, DIRECT);
void setup(void) {
pinMode(9, OUTPUT);
Input = 29.0;
Setpoint = 33.0;
sensor.attach(A0);
myPID.SetMode(PIDMode);
lcd.begin(20, 4, 1);
if (!ds.search(addr[0])) {
ds.reset_search();
delay(250);
return; }
if ( !ds.search(addr[1])) {
ds.reset_search();
delay(250);
return;
}
}void loop(void) {
byte i;
byte present = 0;
byte data[12];
byte addr[8];sensor.update();
if ( !ds.search(addr)) {
ds.reset_search();
return;}ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end
present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpadfor ( i = 0; i < 9; i++) { // we need 9 bytes
data = ds.read(); }
LowByte = data[0];
HighByte = data[1];
TReading = (HighByte <<+ LowByte;
SignBit = TReading & 0x8000; // test most sig bit
if (SignBit) // negative
{ TReading = (TReading ^ 0xffff) + 1; // 2’s comp }
Tc_100 = (6 * TReading) + TReading / 4; // multiply by (100 * 0.0625) or 6.25
TTTemp = Tc_100 / 100.0; // + (Tc_100 % 100)/100; //float(Whole) + (float(Fract) / 100);
Input = TTTemp;myPID.Compute();
lcd.cursor();
lcd.blink();
lcd.setCursor(0,1);
lcd.print(«PV=»);
lcd.setCursor(4,1);
lcd.print(TTTemp);
if (SignBit) // If its negative
{lcd.setCursor(3,1);
lcd.print(«-«);}
lcd.setCursor(0,2);
lcd.print(«SP=»);
lcd.setCursor(4,2);
lcd.print(Setpoint);
lcd.setCursor(0,3);
lcd.print(«LQ=»);
lcd.setCursor(3,3);
lcd.print(Output);
lcd.setCursor(10,1);
if (myPID.GetMode())
{ lcd.print(«AUTO»);}
else
{ lcd.print(«MANUAL»);}
lcd.setCursor(10,2);
lcd.print(«Kp=»);
lcd.setCursor(14,2);
lcd.print(myPID.GetKp());
lcd.setCursor(10,3);
lcd.print(«Ki=»);
lcd.setCursor(14,3);
lcd.print(myPID.GetKi());switch (sensor.getLastError())
{
case DHT_ERROR_OK:
char msg[128];
// данные последнего измерения можно считать соответствующими
// методами
sprintf(msg, «T=%dC, H=%d%%»,
sensor.getTemperatureInt(), sensor.getHumidityInt());
lcd.print(msg);
break;
case DHT_ERROR_START_FAILED_1:
lcd.print(«Er:start fail1»);
break;
case DHT_ERROR_START_FAILED_2:
lcd.print(«Er:start fail2»);
break;
case DHT_ERROR_READ_TIMEOUT:
lcd.print(«Er:read timeout»);
break;
case DHT_ERROR_CHECKSUM_FAILURE:
lcd.print(«Er:checksum error»);
break;
}
analogWrite(9, int(Output));
}PS: ставил делей и на 1000 и на 2000 — не помогает.
уж простите за нубизм но поможите люди добрыя… -
У меня с этой связкой, тоже была подобная фигня.
Я подключил датчик с стандартной библиотекой из примера в Вики, всё было нормально, хотя как и на картинке, очень много таймаутов…
Когда собрал это всё с LCD, выкинул из программы обработку ошибок, но и без неё всё видно.
При включении по первому запросу он гарантированно выдаёт данные, а потом они очень долго не меняются, значит вместо них идут ошибки.
Но эта ситуация продолжалась пару первых включений.
А потом количество ошибок вошло в привычный процент, и прибор стал нормально показывать.
Произошло оно само, поэтому ничего не исправлял.
Вообще довольно странный датчик.
-
Спасибо, попробую вечером убрать обработчик ошибок и подождать.
-
Кстати, нарыл тут поболее инфы про этот датчик.
Неплохо было бы добавить ее в вики… -
Вообще, это было больше недоумение, чем руководство к действию
Я собственно не совсем корректно выразился, я не обработку ошибок убрал, а вывод их на экран…
Спасибо, за ссылку, ничего особо принципиально нового не увидел, но появляющиеся библиотеки для Arduino IDE 1.0, это ценно. -
Провозился вчера весь вечер с ним, но так и не добился нормальной работы этого датчика…
Пришел к выводу что это зря потраченные деньги. -
хм, действительно…
взяв «чистый» код из вики получилось:Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Error: read timeout
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 30%
Temperature = 26C, Humidity = 30%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Error: read timeout
Error: read timeout
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Error: read timeout
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Error: read timeout
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Error: read timeout
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Error: read timeout
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Error: read timeout
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Error: read timeout
Error: read timeout
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
Temperature = 26C, Humidity = 31%
при этом провода от других устройств не отключал!
ладно буду копать дальше в этом направлении. -
и еще, в квартире все термометры показывают 16 градусов а этот 26…
-
Я, как зануда страшный, первое, что сделал, это достал лабораторный термометр и положил его рядом.
У меня всё точно.
Это может означать, что у вас его кто-то греет, я например, не случайно расположил датчик, как на картинке.
Есть у меня ещё вот такая хреновина:
Так вот на ней, большой чип, это драйвер дисплея, он греется, а датчик обозначеный DigTher меряет температуру воздуха, секунд десять, а потом плата нагревается и он уже её температуру меряет… -
Как у нас сухо везде, около тридцати, при норме ближе к шестидесяти…
-
Подключил датчик все работает, залез в библиотеки но там тоже не нашел как сделать температуру поточнее не 26 градусов а чтобы выдавало скажем 26.8
-
Не знаю что у вас за хрень, но лично у меня этот датчик с самого начала прекрасно пахал и постоянно выдает и температуру и влажность, кстати довольно точно(проверял большим настенным барометром с градусником и гигрометром), а таймаут бывает где то раз в 5 мин, не чаще
-
Так и должно быть!
http://wiki.amperka.ru/сенсоры:dht
Error: start failed (stage 1)
означает что датчик хочет считать показания.
Error: start failed (stage 2)
означает что датчик готов к отдаче данных. -
Не знаю что у вас за хрень, но лично у меня этот датчик с самого начала прекрасно пахал и постоянно выдает и температуру и влажность, кстати довольно точно(проверял большим настенным барометром с градусником и гигрометром), а таймаут бывает где то раз в 5 мин, не чаще:cool:
Это точно. У меня так же.