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.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#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);
      }
}