Bonjour à tous,

Voilà, je dois faire changer les 3 vitesses de mon circulateur de chauffage par un module 4 relais commandé par un Arduino.
Mon problème est qu'au démarrage de l'arduino, les 4 relais s'allument.
Ceci risque donc de cramer mon circulateur...

Quelqu'un peut-il me dire comment faire pour que mes relais ne s'activent pas automatiquement au démarrage ?
Voici mon code:
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
 
const int relcircul1 = 3;
const int relcircul1V1 =4;
const int relcircul1V2 =5;
const int relcircul1V3 =6;
 
const int InterV1 = 7;
const int InterV2 = 8;
const int InterV3 = 9;
 
// déclaration des variables
int Etat_InterV1;
int Etat_InterV2;
int Etat_InterV3;
 
void setup()
{
 
Serial.begin(9600);
// init entrées et sorties
pinMode(relcircul1,OUTPUT);
pinMode(relcircul1V1,OUTPUT);
pinMode(relcircul1V2,OUTPUT);
pinMode(relcircul1V3,OUTPUT);
pinMode(InterV1,INPUT);
pinMode(InterV2,INPUT);
pinMode(InterV3,INPUT);
 
Etat_InterV1 = LOW; //semble inutile...
Etat_InterV2 = LOW; //semble inutile...
Etat_InterV3 = LOW; //semble inutile...
}
void loop()
{
Etat_InterV1 = digitalRead(InterV1);
Etat_InterV2 = digitalRead(InterV2); 
Etat_InterV3 = digitalRead(InterV3); 
 
 
  if(Etat_InterV1 == LOW){
    digitalWrite(relcircul1, LOW);
    delay(500);
    digitalWrite(relcircul1V2, HIGH);
    delay(500);
    digitalWrite(relcircul1V3, HIGH);
    delay(500);
    digitalWrite(relcircul1V1, LOW);
    Serial.print("V1");
 
}
 else if(Etat_InterV2 == LOW){
    digitalWrite(relcircul1, LOW);
    delay(500);
    digitalWrite(relcircul1V1, HIGH);
    delay(500);
    digitalWrite(relcircul1V3, HIGH);
    delay(500);
    digitalWrite(relcircul1V2, LOW);
    Serial.print("V2");
}
 else if(Etat_InterV3 == LOW){
    digitalWrite(relcircul1, LOW);
    delay(500);
    digitalWrite(relcircul1V1, HIGH);
    delay(500);
    digitalWrite(relcircul1V2, HIGH);
    delay(500);
    digitalWrite(relcircul1V3, LOW);
    Serial.print("V3");
}
else {
    digitalWrite(relcircul1, HIGH);
    delay(500);
    digitalWrite(relcircul1V1, HIGH);
    delay(500);
    digitalWrite(relcircul1V2, HIGH);
    delay(500);
    digitalWrite(relcircul1V3, HIGH);
    Serial.print("C1off");
 
}}