#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 8
#define RELAY1_PIN 7
#define RELAY2_PIN 6
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float temp;
void setup() {
// Start up the library
sensors.begin();
// Set relay pins as output
pinMode(RELAY1_PIN, OUTPUT);
pinMode(RELAY2_PIN, OUTPUT);
}
void loop() {
// Requests a temperature reading from the sensor
sensors.requestTemperatures();
temp = sensors.getTempCByIndex(0);
// If temperature is 25º or higher
if (temp >= 25) {
digitalWrite(RELAY1_PIN, HIGH);
delay(5 * 60 * 1); // 5 minutes delay
digitalWrite(RELAY1_PIN, LOW);
}
// If temperature is between 20º and 24º
else if (temp >= 20 && temp < 25) {
// Do nothing
}
// If temperature is lower than 20º
else if (temp < 20) {
digitalWrite(RELAY2_PIN, HIGH);
delay(5 * 60 * 1); // 5 minutes delay
digitalWrite(RELAY2_PIN, LOW);
}
// If temperature is lower than 15º
else {
// Windows must be closed, do nothing
}
// Read temperature again after 15 minutes
delay(15 * 60 * 1);
}