salut as tous , j'arrive bien as lire mes sondes sur le moniteur serie , je n'arrive pas as faire un action avec ma deuxieme sonde ;
j'ai recuperer leurs adresses . la j'avoue que je suis pommer . je doit mal mi prendre !
car avec la sonde temp_ext j'arrive bien as controler mes relais ! a premier vue elle est pas detecter.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
//sonde1 = {0x28, 0xAA, 0x69, 0x58, 0x3C, 0x14, 0x01, 0x47};
//sonde2 = {0x28, 0xEF, 0xCF, 0xE0, 0x2E, 0x19, 0x01, 0x77};
LiquidCrystal_I2C lcd(0x27,16,2);
const int relais_Vent_Ext = 3;
const int relais_Comp = 4;
const int relais_Vent_Int = 5;
const int relais_V4V = 6;
const int therm_S = 51;
const int therm_Ch1 = 50;
const int led_S = 33;
const int led_Ch1 = 31;
const int led_FR = 45;
const int led_CH = 30;
float hysteresis = 2.00;
float consigne = 23.00;
void setup()
{
Serial.begin(115200);
lcd.init();
lcd.backlight();
sensors.begin();
pinMode(relais_Vent_Ext,OUTPUT); // Relais Ventilateur Exterieur
pinMode(relais_Comp,OUTPUT); // Relais Compresseur
pinMode(relais_Vent_Int,OUTPUT); // Relais Ventilateur Interieur
pinMode(relais_V4V,OUTPUT); // Relais Vanne 4 Voies
pinMode(therm_S,INPUT); // Thermostat Radio Salon
pinMode(therm_Ch1,INPUT); // Thermostat Radio Chambre1
pinMode(led_S,OUTPUT); // LED Thermostat Salon en demande (froid ou chauffage)
pinMode(led_Ch1,OUTPUT); // LED Thermostat Chambre en demande (froid ou chauffage)
pinMode(led_FR,OUTPUT); // LED Mode Froid
pinMode(led_CH,OUTPUT); // LED Mode Chauffage
}
void loop()
{
Serial.print("Temp Démarage Arduino : ");
Serial.println(millis());
sensors.requestTemperatures();
float temp_Ext = sensors.getTempCByIndex(0);
float temp_Unit_Ext = sensors.getTempCByIndex(1);
Serial.print("Temperature EXT °C ");
Serial.println(temp_Ext);
Serial.print("Temperature Unite EXT °C ");
Serial.println(temp_Unit_Ext);
byte etattherm_S = digitalRead(therm_S);
byte etattherm_Ch1 = digitalRead(therm_Ch1);
Serial.print("ETAT thermosat Salon = ");
Serial.println(etattherm_S);
Serial.print("ETAT thermostat Chambre 1 = ");
Serial.println(etattherm_Ch1);
lcd.setCursor(0, 0 );
lcd.print("Temperature:");
lcd.setCursor(1,1);
lcd.print(temp_Ext);
lcd.setCursor(6,1);
lcd.print((char)223);
delay(100);
digitalWrite(led_S, etattherm_S);
digitalWrite(led_Ch1, etattherm_Ch1);
if(((temp_Ext >= consigne) && (etattherm_S == 1))
|| ((temp_Ext >= consigne) && (etattherm_Ch1 == 1))){
digitalWrite(relais_Vent_Ext, LOW);// petite vitesse
digitalWrite(relais_Vent_Int, HIGH);
digitalWrite(relais_V4V, HIGH);
digitalWrite(relais_Comp, LOW);
digitalWrite(led_FR, HIGH);
digitalWrite(led_CH, LOW);
}else if(((temp_Ext >= consigne) && (etattherm_S == 1))
|| ((temp_Ext >= consigne) && (etattherm_Ch1 == 1)) && temp_Unit_Ext >= 20){
digitalWrite(relais_Vent_Ext, HIGH);// grande viesse
digitalWrite(relais_Vent_Int, HIGH);
digitalWrite(relais_V4V, HIGH);
digitalWrite(relais_Comp, LOW);
digitalWrite(led_FR, HIGH);
digitalWrite(led_CH, LOW);
}else{
digitalWrite(relais_Vent_Ext, LOW);
digitalWrite(relais_Vent_Int, LOW);
digitalWrite(relais_V4V, LOW);
digitalWrite(led_FR, LOW);
digitalWrite(led_CH, HIGH);
}
}