// Підключення датчика температури (DS18B20)
#include <OneWire.h>
#include <DallasTemperature.h>
// Піни
#define TEMP_SENSOR_PIN 2 // Пін для датчика температури
#define TEN_PIN 3 // Пін для ТЕНу
#define PUMP_PIN 4 // Пін для насоса
#define VALVE_PIN 5 // Пін для електроклапана
#define IGNITION_PIN 6 // Пін для електропідпалу
OneWire oneWire(TEMP_SENSOR_PIN);
DallasTemperature sensors(&oneWire);
void setup() {
sensors.begin();
pinMode(TEN_PIN, OUTPUT);
pinMode(PUMP_PIN, OUTPUT);
pinMode(VALVE_PIN, OUTPUT);
pinMode(IGNITION_PIN, OUTPUT);
// Початковий стан: все вимкнено
digitalWrite(TEN_PIN, LOW);
digitalWrite(PUMP_PIN, LOW);
digitalWrite(VALVE_PIN, LOW);
digitalWrite(IGNITION_PIN, LOW);
}
void loop() {
sensors.requestTemperatures(); // Отримати температуру
float temperature = sensors.getTempCByIndex(0);
if (temperature < 80) {
digitalWrite(TEN_PIN, HIGH); // Увімкнути ТЕН
} else {
digitalWrite(TEN_PIN, LOW); // Вимкнути ТЕН
// Увімкнути насос на 1-2 хвилини
digitalWrite(PUMP_PIN, HIGH);
delay(60000); // 1 хвилина (60000 мс)
digitalWrite(PUMP_PIN, LOW);
// Відкрити електроклапан і увімкнути електропідпал на 5 секунд
digitalWrite(VALVE_PIN, HIGH);
digitalWrite(IGNITION_PIN, HIGH);
delay(5000); // 5 секунд
digitalWrite(IGNITION_PIN, LOW);
digitalWrite(VALVE_PIN, LOW);
}
delay(1000); // Затримка для стабільності
}