#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress fish = { 0x28, 0xEE, 0xFA, 0xC3, 0x1D, 0x16, 0x01, 0xCC }; // cherche le code oneWire finder pour avoir l'adresse de ton capteur
void setup() {
sensors.begin();
sensors.setResolution(fish, 12); // de 9 à 12, plus la valeur est grande, plus de temps il faudra au capteur pour mesurer la température.
}
void loop() {
sensors.requestTemperatures();
Serial.print(sensors.getTempC);
float temp;
// Lit la température ambiante à ~1Hz
if(getTemperature(&temp)) {
// Affiche la température
Serial.print("Temperature : ");
Serial.print(temp);
Serial.write(176); // caractère °
Serial.write('C');
Serial.println();
}
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
if( temp <= 11 && now.hour() >= 8 && now.hour() <= 20 && { // si on est entre 8h et 20h que la T° < 11°
digitalWrite(RELAY,HIGH);
;
}
else if( temp >= 20 ){ // si T° dépasse 20° on coupe le relais
digitalWrite(RELAY,LOW);
delay(10000);
}
else digitalWrite(RELAY,LOW); // sinon, les conditions ne sont pas réunis, on coupe le relais
} } }
if( temp <= 20 && now.hour() >= 20 && now.hour() <=8 { // si on est entre 20 et 8h que la T° < 17°
digitalWrite(RELAY,HIGH);
;
}
else if( temp >= 30 ){ // si T° dépasse 30° on coupe le relais
digitalWrite(RELAY,LOW);
delay(10000);
}
else digitalWrite(RELAY,LOW); // sinon, les conditions ne sont pas réunis, on coupe le relais
} } }
Thank you very much (I worked a little on my side I did this program) Is it good?