So far a part of this code works fine but relay 1 keep turning on and off instead of keeping off , I cant figure this out, my purpose is to turn Relay1 on, wait 3s, turn Relay 8 on wait 10s, turn Relay 7 on wait 3 s turn Relay 8 off... Help guys
int RelayPompe = 2;
int RelayVanne7 = 3;
int RelayVanne6 = 4;
int RelayVanne5 = 5;
int RelayVanne4 = 6;
int RelayVanne3 = 7;
int RelayVanne2 = 8;
int RelayVanne1 = 9;
const unsigned long eventInterval1 = 10000;
const unsigned long eventInterval2 = 3000;
const unsigned long eventInterval3 = 15000;
const unsigned long eventInterval4 = 20000;
unsigned long previousTime1 = 0;
unsigned long previousTime2 = 0;
unsigned long previousTime3 = 0;
unsigned long previousTime4 = 0;
void setup() {
Serial.begin(9600);
pinMode(RelayPompe, OUTPUT);
pinMode(RelayVanne1, OUTPUT);
pinMode(RelayVanne2, OUTPUT);
pinMode(RelayVanne3, OUTPUT);
pinMode(RelayVanne4, OUTPUT);
pinMode(RelayVanne5, OUTPUT);
pinMode(RelayVanne6, OUTPUT);
pinMode(RelayVanne7, OUTPUT);
digitalWrite(RelayPompe, HIGH);
digitalWrite(RelayVanne1, HIGH);
digitalWrite(RelayVanne2, HIGH);
digitalWrite(RelayVanne3, HIGH);
digitalWrite(RelayVanne4, HIGH);
digitalWrite(RelayVanne5, HIGH);
digitalWrite(RelayVanne6, HIGH);
digitalWrite(RelayVanne7, HIGH);
}
void loop() {
unsigned long currentTime = millis();
if (currentTime - previousTime1 >= eventInterval1) {
digitalWrite(RelayPompe, LOW);
previousTime1 = currentTime;
}
if (currentTime - previousTime2 >= eventInterval2) {
digitalWrite(RelayVanne1, LOW);
previousTime2 = currentTime;
}
if (currentTime - previousTime3 >= eventInterval3) {
digitalWrite(RelayVanne2, LOW);
previousTime3 = currentTime;
}
if (currentTime - previousTime4 >= eventInterval4) {
digitalWrite(RelayVanne1, HIGH);
previousTime4 = currentTime;
}
}