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

esp8266+bme280+dht11+Blynk

Arcivanz

New member
Добрый день.
Не получается снять показания с двух датчиков (bme280 и dht11) и отправить в Blynk.
По части bme280 проблем не наблюдается, данные отправляются в blynk, а вот с dht11 ошибка чтения сенсора "Failed to read from DHT sensor!".
Подключено все правильно.
Скетч собирал на основе распространенного скетча под bme 280 с интеграцией в него команд из примера для dht11 от blynk.

#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>
#include <DHT.h>

#define SEALEVELPRESSURE_HPA (997.24)

Adafruit_BME280 bme; // I2C

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = "****************************";

char ssid[] = "****************************";
char pass[] = "***************************";

BlynkTimer timer;
unsigned long delayTime = 1000;

#define DHTPIN 0

#define DHTTYPE DHT11 // DHT 11

DHT dht(DHTPIN, DHTTYPE);

void sendSensor()
{

Blynk.virtualWrite(V0, bme.readTemperature());
Blynk.virtualWrite(V1, (bme.readPressure() / 133.3F));
Blynk.virtualWrite(V2, bme.readHumidity());
Blynk.virtualWrite(V3, bme.readAltitude(SEALEVELPRESSURE_HPA));

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

if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}

Blynk.virtualWrite(V5, h);
Blynk.virtualWrite(V6, t);
}

void setup() {
Serial.begin(9600);

Serial.println(F("BME280 test"));
bool status;

status = bme.begin(0x76);
if (!status) {
Serial.println("Could not find a valid BME280 sensor, check wiring!");
while (1);
}
bme.setSampling();
Serial.println("-- Default Test --");
Serial.println();

{
Serial.begin(9600);

Blynk.begin(auth, ssid, pass);

dht.begin();

timer.setInterval(1000L, sendSensor);

Blynk.begin(auth, ssid, pass);

timer.setInterval(delayTime, sendSensor);
}

Blynk.setProperty(V0, "label", "Температура");
Blynk.setProperty(V1, "label", "Давление");
Blynk.setProperty(V2, "label", "Влажность");
Blynk.setProperty(V3, "label", "Высота");


}//setup



void loop() {

Blynk.run();
timer.run();
}

Подскажите где закралась ошибка
 

svs2007m

Active member
Да и еще "Интеграция" с дублями прошла.
//----------
timer.setInterval(delayTime , sendSensor); // или timer.setInterval(1000L, sendSensor);
Blynk.begin(auth, ssid, pass);
//---------
 
Сверху Снизу