• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь ESP-201 + DHT11

Sever44

Member
Добрый день.

Пытаюсь подключить датчик температуры DHT11 к ESP-201.
Использую скетч DHTtester из Примеров Ардуино.

#include "DHT.h"
//#define DHTPIN 2 // Работает с Ардуино Мега
#define DHTPIN 4 // С ESP201 не работает
#define DHTTYPE DHT11

// Initialize DHT sensor for normal 16mhz Arduino
DHT dht(DHTPIN, DHTTYPE);
//DHT dht(DHTPIN, DHTTYPE,11); //Пробовал, не влияет

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

void loop() {
// Wait a few seconds between measurements.
delay(2000);

// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius
float t = dht.readTemperature();
// Read temperature as Fahrenheit
float f = dht.readTemperature(true);

// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t) || isnan(f)) {
Serial.println("Failed to read from DHT sensor!");
return;
}

// Compute heat index
// Must send in temp in Fahrenheit!
float hi = dht.computeHeatIndex(f, h);

Serial.print("Humidity: ");
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" *C ");
Serial.print(f);
Serial.print(" *F\t");
Serial.print("Heat index: ");
Serial.print(hi);
Serial.println(" *F");
}

Скетч работает с Ардуино Мега и НЕ РАБОТАЕТ с ESP-201.

Датчик подключен к +3,3V, GND и к 4-ой ножке ESP-201 (той, что рядом с +3,3V).

В СОМ порту: Failed to read from DHT sensor!

Пробовал менять быстродействие: DHT dht(DHTPIN, DHTTYPE,11);
Не помогает.
Если закоментировать: // return;
строки Humidity, Temperature, Heat index
появляются, но с нулевыми значениями.

Что не так?

Надеюсь на Вашу помощь.

Заранее спасибо.
 
Последнее редактирование:

Юрий Ботов

Moderator
Команда форума
А не пробовали на ESP код для меги? Должен работать. Вы просто путаетесь в ногах GPIO4 8266 и D4 в Arduino это разные вещи. В инете полно таблиц "Nodemcu arduino pins". 4-я нога (D4) выбирается установкой ДВОЙКИ.
 

Sever44

Member
А не пробовали на ESP код для меги? Должен работать. Вы просто путаетесь в ногах GPIO4 8266 и D4 в Arduino это разные вещи. В инете полно таблиц "Nodemcu arduino pins". 4-я нога (D4) выбирается установкой ДВОЙКИ.
То, что Вы написали, справедливо для ESP-12. У меня же - ESP-201. Без изменений код , работающий с Мегой, с ESP-201 не работает. Перепробовал все четыре сочетания (GPIO2 - DHTPIN 2, GPIO2 - DHTPIN 4, GPIO4 - DHTPIN 2, GPIO4 - DHTPIN 4), не работает. Видно, для ESP-201 хитрее "зашифровано".
 

AndrF

Active member
Посмотрел. Но там нет (да и не может быть) сведений для ESP-201, с которой у меня проблемы.
Хм. Действительно у ESP-201 почему-то рисуют совершенно другое соотношение



В общем, использовать обозначения с префиксом D я бы просто не стал - только цифру.
 

KomX

Member
@Sever44, из урезанного скетча не видно как Вы конфигурируете пины... Да, и схемка подключения не помешала бы (вдруг вы подтягивающий резистор забыли)...
 

Sever44

Member
Хм. Действительно у ESP-201 почему-то рисуют совершенно другое соотношение



В общем, использовать обозначения с префиксом D я бы просто не стал - только цифру.
С префиксом и не использовал. Тоже нашел эту цоколевку для ESP-201. Подключал датчик к IO4 (в скетче указывал 16), пробовал IO12 (10). Упорно не работает. Выход датчика подтянут.
 

Sever44

Member
@Sever44, из урезанного скетча не видно как Вы конфигурируете пины... Да, и схемка подключения не помешала бы (вдруг вы подтягивающий резистор забыли)...
Урезаны только ненужные комментарии из примера. Все нужное оставлено. Мега работает и по выводу 2 и по выводу 4. Выход датчика подтянут. Перепробовал, кажется, все сочетания, не работает. Сейчас датчик подключен к IO4 (16), это которая рядом с +3,3V. В скетче указано #define DHTPIN 16.
Фотка: DSC_0045.jpg
 
Сверху Снизу