Bonjour,
Je fais appelle à votre aide car à chaque projet que je réalise vous me permettez de bien comprendre et progresser.
Mon projet consiste à déclencher une VMC que je vais installer à l'envers afin de tempérer une partie de la maison lorsque l'on ne peux pas ouvrir les fenêtres (absences...). Bien entendu c'est juste pour pouvoir gagner quelques degrés en inter saison. Et l'été de pouvoir faire rentrer du frais la nuit sans avoir les portes ouvertes.
J'utilise des capteurs de température DS18B20. J'ai trouvé les adresses des capteurs via un scanner de bus one wire.
Je souhaite allumer la VMC en fonction de la différence de température intérieure et extérieure. Un interrupteur doit contrôler si on veux "rafraichir" ou "chauffer" la pièce en fonction de la saison.
Je me suis aidé de plusieurs sites et morceaux de code que j'ai essayé d'assembler correctement mais il doit y avoir encore des erreurs pour que cela fonctionne correctement.
Merci pour votre aide et temps que vous m'apportez !
```cpp
#include <arduino.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Bounce2.h>
#define INTER 3
Bounce inter;
OneWire oneWire(2);
DallasTemperature sensors(&oneWire);
DeviceAddress SondeInterieure = {0x28, 0xDF, 0xBD, 0x45, 0x92, 0x19, 0x02, 0xB9};
DeviceAddress SondeExterieure = {0x28, 0x2C, 0x2F, 0x45, 0x92, 0x16, 0x02, 0xBE};
int RelaisVMC = 4;
void setup() {
Serial.begin(9600);
sensors.begin();
sensors.setResolution(SondeInterieure, 2);
sensors.setResolution(SondeExterieure, 2);
pinMode(RelaisVMC, OUTPUT);
digitalWrite(RelaisVMC, HIGH);
pinMode(INTER, INPUT_PULLUP);
inter.attach(INTER);
inter.interval(5);
}
int courant = -1;
void loop() {
sensors.requestTemperatures();
float SondeInterieure = sensors.getTempFByIndex(SondeInterieure);
float SondeExterieure = sensors.getTempFByIndex(SondeExterieure);
inter.update();
int valeur = inter.read();
if (valeur == courant)
return;
if ( valeur == LOW) // si l'inter est sur LOW on doit prendre le paramètre de
{(RAFFRAICHIR);}//car on est en été et il faut rafraîchir la nuit quand l'air se refroidit
else //si l'inter est sur HIGH on doit prendre le paramètre de
{(RECHAUFFER);}//car on est en printemps automne hiver et il faut chauffer quand il fait soleil et que l'air est plus chaud
courant = valeur;
}
void RAFFRAICHIR(){
if (SondeExterieure < SondeInterieure )
{digitalWrite (RelaisVMC, LOW);}
else
{digitalWrite (RelaisVMC, HIGH);}
}
void RECHAUFFER(){
if (SondeExterieure > SondeInterieure )
{digitalWrite (RelaisVMC, LOW);}
else
{digitalWrite (RelaisVMC, HIGH);}
}




