Привет форуму, сделал wifi термометр на два датчика:
Теперь очень желательно настроить, что бы при опускании температуры ниже предела отключалось реле. Пока сам ищу не нашел. Буду благодарен.
/* ESP & Blynk */
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define BLYNK_PRINT Serial
/* Blynk credentials */
char auth[] = "***********************";
/* WiFi credentials */
char ssid[] = "internet";
char pass[] = "prosto888";
/* TIMER */
#include <SimpleTimer.h>
SimpleTimer timer;
/* DS18B20 Temperature Sensor */
#include <OneWire.h>
#include<DallasTemperature.h>
#define ONE_WIRE_BUS 2 // DS18B20 подключаем на D4 на плате
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
float temp_0;
float temp_1;
void setup()
{
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
DS18B20.begin();
timer.setInterval(1000L, getSendData);
Serial.println(" ");
Serial.println("Testing Dual Sensor data");
}
void loop()
{
timer.run(); // Initiates SimpleTimer
Blynk.run();
}
/***************************************************
* Send Sensor data to Blynk
**************************************************/
void getSendData()
{
DS18B20.requestTemperatures();
temp_0 = DS18B20.getTempCByIndex(0); // Sensor 0 показания для датчика 1 в цельсиях
temp_1 = DS18B20.getTempCByIndex(1); // Sensor 0 показания для датчика 2 в цельсиях
Serial.printf("Temp_0= %3.1f/n",temp_0);
Serial.printf("Temp_1= %3.1f/n",temp_1);
Serial.println(" oC");
Blynk.virtualWrite(10, temp_0); //выврд данных на виртуальный пин V10
Blynk.virtualWrite(11, temp_1); //вывод данных навиртуальный пин V11
}
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#define BLYNK_PRINT Serial
/* Blynk credentials */
char auth[] = "***********************";
/* WiFi credentials */
char ssid[] = "internet";
char pass[] = "prosto888";
/* TIMER */
#include <SimpleTimer.h>
SimpleTimer timer;
/* DS18B20 Temperature Sensor */
#include <OneWire.h>
#include<DallasTemperature.h>
#define ONE_WIRE_BUS 2 // DS18B20 подключаем на D4 на плате
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
float temp_0;
float temp_1;
void setup()
{
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
DS18B20.begin();
timer.setInterval(1000L, getSendData);
Serial.println(" ");
Serial.println("Testing Dual Sensor data");
}
void loop()
{
timer.run(); // Initiates SimpleTimer
Blynk.run();
}
/***************************************************
* Send Sensor data to Blynk
**************************************************/
void getSendData()
{
DS18B20.requestTemperatures();
temp_0 = DS18B20.getTempCByIndex(0); // Sensor 0 показания для датчика 1 в цельсиях
temp_1 = DS18B20.getTempCByIndex(1); // Sensor 0 показания для датчика 2 в цельсиях
Serial.printf("Temp_0= %3.1f/n",temp_0);
Serial.printf("Temp_1= %3.1f/n",temp_1);
Serial.println(" oC");
Blynk.virtualWrite(10, temp_0); //выврд данных на виртуальный пин V10
Blynk.virtualWrite(11, temp_1); //вывод данных навиртуальный пин V11
}
Теперь очень желательно настроить, что бы при опускании температуры ниже предела отключалось реле. Пока сам ищу не нашел. Буду благодарен.
Последнее редактирование модератором: