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
|
const int BP = 2;
unsigned long temps;
int Time =4600;
int relais1 = 6;
unsigned long randOn1 = 0;
unsigned long randOnStart1 = 0;
unsigned long randOff1 = 0;
unsigned long randOffStart1 = 0;
void setup() {
Serial.begin(115200);
pinMode(BP, INPUT);
pinMode(relais1, OUTPUT);
}
void loop() {
if (digitalRead(BP) == HIGH) {
digitalWrite(relais1, LOW);
delay(Time);
}
if (randOn1 == 0 && randOff1 == 0) { // Si le cycle On/Off est termine
randOn1 = random (150, 3900);
randOff1 = random (10,500);
digitalWrite(relais1, HIGH); // Le relais est On
randOnStart1 = millis(); // Debut temporisation On
}
if (randOn1 !=0 && (millis() - randOnStart1 >= randOn1)) { //Si temporisation On terminee
randOn1 = 0;
digitalWrite(relais1, LOW); // Le relais est Off
randOffStart1 = millis(); // Debut temporisation Off
}
if (randOn1 ==0 && (millis() - randOffStart1 >= randOff1)) { // Si temporisation Off terminee
randOff1 = 0;
}
} |
Partager