• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

nodemcu lolin v3 + am2301 (dht21)

snuppy779

New member
Приветствую, подскажите если кто знает. В общем проблема в следующем при подключении к nodemcu получаю данные с датчика вида -3158.1231 или 2042.223. Этот же датчик при подключении к ардуине уно выдает нормальные значения 28 для температуры и 79 для влажности. В чем проблема?
 

Юрий Ботов

Moderator
Команда форума
"Дорогие ученые. У меня который год в подполе происходит подземный стук." Пардон. Не удержался. Код в студию.
 

snuppy779

New member
#include "DHT.h"

#define DHTPIN 2
#define DHTTYPE DHT21

DHT dht(DHTPIN, DHTTYPE);

void setup() {
Serial.begin(9600);
Serial.println("DHTxx test!");

dht.begin();
}

void loop() {

float h = dht.readHumidity();
float t = dht.readTemperature();

if (isnan(t) || isnan(h)) {
Serial.println("Failed to read from DHT");
}
else {
Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.println(" *C");
}
}

повторюсь код один и тот же за исключением пина для данных
 

pvvx

Активный участник сообщества
DHT-sensor-library/DHTtester.ino at master · adafruit/DHT-sensor-library · GitHub
DHT-sensor-library/library.properties at master · adafruit/DHT-sensor-library · GitHub
architectures=*
В описании библиотеки написано, что она годится для есп?
Вопрос неверен. Правильный: "Поддерживает ли ESp8266 Arduino IDE стандартные концепции Arduino?"
И правильный ответ: "Нет."
 
Последнее редактирование:

Юрий Ботов

Moderator
Команда форума
По всему путаница в понятиях: pin2 это 4 ну и так далее:
static const uint8_t D0 = 16;
static const uint8_t D1 = 5;
static const uint8_t D2 = 4;
static const uint8_t D3 = 0;
static const uint8_t D4 = 2;
static const uint8_t D5 = 14;
static const uint8_t D6 = 12;
static const uint8_t D7 = 13;
static const uint8_t D8 = 15;
static const uint8_t D9 = 3;
static const uint8_t D10 = 1;
 

pvvx

Активный участник сообщества
По всему путаница в понятиях: pin2 это 4 ну и так далее:
повторюсь код один и тот же за исключением пина для данных
А если погадать?
Для UNO PullUP значит: PDF: "I/O Pin Pull-up Resistor 20..50 k", а для ESP8266?
В оригинале "скетча" писано:
Connect a 10K resistor from pin (data) to pin (power) of the sensor
Хватит ли 30 кОм для работы DHT?
Ответ наверно такой: У данной LEDE не тот шаг фишек и они не соединяются.
 

snuppy779

New member
Коллеги спасибо всем кто хотел помочь.
Проблема оказалась в библиотеке.
Нужно было добавить третий параметр
DHT dht(DHTPIN, DHTTYPE, 15);
С новой версией либы заработало и без него
 
Сверху Снизу