Maxim Keegan
New member
Привет. Купил сборку блок питания + ESP8266 + Два реле + DHT22 от Electrodragon. Wifi IoT Relay Board SPDT Based on ESP8266 - ElectroDragon
Собрал все на монтаже - все работает. Релюшки хлопают. Подключил питание от 220 вольт - все работает. Подключил к реле контакторы. Если переключать их достаточно быстро - ESP перезагружается и перестают поступать данные с DHT22. Все напряжения проверил - все в норме. Это помехи какие-то мешают или как отладить можно?
Спасибо за помощь!
Схема контроллера
Собрал все на монтаже - все работает. Релюшки хлопают. Подключил питание от 220 вольт - все работает. Подключил к реле контакторы. Если переключать их достаточно быстро - ESP перезагружается и перестают поступать данные с DHT22. Все напряжения проверил - все в норме. Это помехи какие-то мешают или как отладить можно?
Спасибо за помощь!
Схема контроллера
Код:
#include <DHTesp.h>
#include <ESP8266WiFi.h> //ESP8266 Core WiFi Library (you most likely already have this in your sketch)
#include <DNSServer.h> //Local DNS Server used for redirecting all requests to the configuration portal
#include <ESP8266WebServer.h> //Local WebServer used to serve the configuration portal
#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager WiFi Configuration Magic
#include <SimpleTimer.h>
#define BLYNK_PRINT Serial
#include <BlynkSimpleEsp8266_SSL.h>
#define DHTPIN 14 // Номер пина, который подключен к DHT22
#define DHTTYPE DHTesp::DHT22 // Указываем, какой тип датчика мы используем
DHTesp dht;
WidgetTerminal terminal(V5);
SimpleTimer timer;
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "oVyJ24fc2-ux5oX3_GpQiIweT";
int timeSinceLastRead = 0;
BLYNK_CONNECTED() {
// Request Blynk server to re-send latest values for all pins
Blynk.syncAll();
}
void setup()
{
// Debug console
Serial.begin(9600);
WiFiManager wifiManager;
wifiManager.autoConnect();
Blynk.config(auth);
dht.setup(DHTPIN, DHTTYPE);
timer.setInterval(2000L, sendSensor);
}
void loop()
{
Blynk.run();
timer.run();
}
void sendSensor()
{
float h = dht.getHumidity(); // Влажность
float t = dht.getTemperature(); // Температура
if (isnan(h) || isnan(t)) {
terminal.println("No data. Restart.");
return;
}
String data = (String)"h: " + h + (String)"% t: " + t + (String)"*C";
terminal.println(data);
Blynk.virtualWrite(V0, t);
Blynk.virtualWrite(V1, h);
}