• Система автоматизации с открытым исходным кодом на базе 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);
//---------
 
Сверху Снизу