I get this error every time. I used the DHT tester file from this library. Which gives me an error.
And then I realized that in my code Arduino recognizes only the readTemperature function, not readHumidity, but it doesn’t give any compile error. Also, when I read the sensor, this is the output:
Humidity Sensor Test
Temp: 0C, Humidity: 0%
Temp: 0C, Humidity: 0%
Temp: 0C, Humidity: 0%
My code is here:
//DHT11 Sensor:
#include "DHT.h"
#define DHTPIN 5 // which digital pin we're connected to
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
//I2C LCD:
#include <Wire.h> // Comes with Arduino IDE
#include <LiquidCrystal_I2C.h>
// Set the LCD I2C address
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
void setup() {
Serial.begin(9600);
delay(300);
lcd.begin(16,2);
Serial.println("Humidity Sensor Test");
dht.begin();
delay(300);
}
void loop() {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
int h = dht.readHumidity();
int t = dht.readTemperature();
// set the cursor to (0,0):
lcd.setCursor(0, 0);
// print from 0 to 9:
lcd.print("Temp: ");
lcd.print(t);
lcd.print("C");
// set the cursor to (16,1):
lcd.setCursor(0,1);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print("%");
Serial.print("Temp: ");
Serial.print(t);
Serial.print("C, Humidity: ");
Serial.print(h);
Serial.println("%");
delay(2500);
}
Also I have the 10k resistor between data and Vcc pins. Data is connected to digital pin 5. Has anyone had this problem before?
I get this error every time. I used the DHT tester file from this library. Which gives me an error.
And then I realized that in my code Arduino recognizes only the readTemperature function, not readHumidity, but it doesn’t give any compile error. Also, when I read the sensor, this is the output:
Humidity Sensor Test
Temp: 0C, Humidity: 0%
Temp: 0C, Humidity: 0%
Temp: 0C, Humidity: 0%
My code is here:
//DHT11 Sensor:
#include "DHT.h"
#define DHTPIN 5 // which digital pin we're connected to
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);
//I2C LCD:
#include <Wire.h> // Comes with Arduino IDE
#include <LiquidCrystal_I2C.h>
// Set the LCD I2C address
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
void setup() {
Serial.begin(9600);
delay(300);
lcd.begin(16,2);
Serial.println("Humidity Sensor Test");
dht.begin();
delay(300);
}
void loop() {
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
int h = dht.readHumidity();
int t = dht.readTemperature();
// set the cursor to (0,0):
lcd.setCursor(0, 0);
// print from 0 to 9:
lcd.print("Temp: ");
lcd.print(t);
lcd.print("C");
// set the cursor to (16,1):
lcd.setCursor(0,1);
lcd.print("Humidity: ");
lcd.print(h);
lcd.print("%");
Serial.print("Temp: ");
Serial.print(t);
Serial.print("C, Humidity: ");
Serial.print(h);
Serial.println("%");
delay(2500);
}
Also I have the 10k resistor between data and Vcc pins. Data is connected to digital pin 5. Has anyone had this problem before?
-
#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.%03drn",
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
Значения увеличиваются/уменьшаются в соответствии с изменениями окруж. среды. Вот только приходят в неверном формате. Может кто сталкивался?
Последнее редактирование: 3 Янв 2019
-
#2
Перепрошил на AT v0.23 SDK 1.0.1. С бибилиотекой DHT-sensor-library для Arduino IDE все работает нормально. Показатели с датчика приходят корректные. А вот с LUA прошивкой успехов так и не добился…
Последнее редактирование: 3 Янв 2019
-
#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
Последнее редактирование: 3 Янв 2019
-
#7
Интересует такая же проблема.
Прошивку NodeMCU Lua SDK 2.2.1 брал отсюда NodeMCU custom builds
Я еще кроме этого подцепил резистор 10 кОм на +3,3В на Дата выход датчика DHT11.
Всё равно не помогло, датчик возвращает левые цифры.
Иногда (может раз в 10 минут) появляются корректная Температура и Влажность.
Последнее редактирование: 27 Янв 2019
-
#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», и всё.