• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Динамика изменения температуры за определённое время.

zinf

New member
Всем доброе время суток. В прекрасном мире MK совсем недавно, прошу не пинать если не совсем доходчиво изъясняюсь, собственно проблема и не проблема вовсе, всё работает, но...

Требуется виджет для анализа изменения температуры (количество градусов {рост/падение} за минуту {2, 3, 4, 5... минут по выбору}). Рабочая часть есть, через Blynk смотрю температуру, но требуется видеть динамику (тенденцию), для информирования, что "чё-то не так" и не помешало бы подсыпать... (уголь в печке прогорел, тяги нет, и прочие возможные моменты).

Требуется измерять изменение температуры (количество градусов {рост/падение} за минуту {2, 3, 4, 5... минут по выбору}). Рабочая часть есть, через Blynk смотрю температуру, но требуется видеть динамику (тенденцию), для информирования, что "чё-то не так" и не помешало бы подсыпать... (уголь в печке прогорел, тяги нет, и прочие возможные моменты)

Поясню для чего: система стоит дома на печке (твердотопливный котёл), засыпал, горит... температуры дошла до 61 (59, 53 {по выбору на виджете}- поддувало (не зольник) открылось (сервопривод на заслонке), тяга стала меньше, интенсивность горения упала и температура держится в заданных пределах. При понижении закрывается и так по кругу. В общем хотелось бы поставить виджет который отображал бы значения изменения температуры за отрезок времени, для того чтоб более тщательно контролировать систему отопления. Уверен тема наверняка не новая, может кто встречал... Может где в библиотеках блинка лежит ответ???

Скетч, фотки, прикладываю,

Код:
/* ESP & Blynk */
#define BLYNK_PRINT Serial   
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>

/* Blynk credentials */
char auth[] = "***";
char ssid[] = "***";
char pass[] = "***";
/* WiFi credentials */

/* TIMER */
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_oven;

/* Servo */
Servo servo;

BLYNK_WRITE(V3)
{
  servo.write(param.asInt());
}

void setup()
{
  servo.write(0);
  Serial.begin(115200);
  Blynk.begin(auth, ssid, pass);
  DS18B20.begin();
  servo.attach(D2); // сервопривод на D4 ESP8266
  timer.setInterval(1000L, getSendData);
}

void loop()
{
  timer.run(); // Initiates SimpleTimer
  Blynk.run();
}

/***************************************************
 * Send Sensor data to Blynk
 **************************************************/
void getSendData()
{
  DS18B20.requestTemperatures();
  temp_oven = DS18B20.getTempCByIndex(0); // Sensor 0 показания для датчика 1 в цельсиях
      
  Blynk.virtualWrite(1, temp_oven); //вывод данных навиртуальный пин V10 печка
}
3.jpg
 
Сверху Снизу