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
| // Définir les broches pour les relais
const int relais1 = 5; // Relais 1 connecté à la broche D5
const int relais2 = 12; // Relais 2 connecté à la broche D12
// Variables pour stocker l'état actuel des relais
bool etatRelais1 = LOW;
bool etatRelais2 = LOW;
// Variables pour gérer le timing
unsigned long previousMillisRelais1 = 0;
unsigned long previousMillisRelais2 = 0;
// Intervalles en millisecondes (1000 ms = 1 seconde)
const unsigned long intervalRelais1 = 1000; // 1 seconde
const unsigned long intervalRelais2 = 3000; // 3 secondes
void setup() {
// Configurer les broches comme sorties
pinMode(relais1, OUTPUT);
pinMode(relais2, OUTPUT);
// Désactiver les relais au démarrage
digitalWrite(relais1, LOW);
digitalWrite(relais2, LOW);
}
void loop() {
// Obtenir le temps actuel
unsigned long currentMillis = millis();
// Gestion du relais 1
if (currentMillis - previousMillisRelais1 >= intervalRelais1) {
// Enregistrer le moment où on a changé l'état du relais 1
previousMillisRelais1 = currentMillis;
// Changer l'état du relais 1
etatRelais1 = !etatRelais1;
digitalWrite(relais1, etatRelais1);
}
// Gestion du relais 2
if (currentMillis - previousMillisRelais2 >= intervalRelais2) {
// Enregistrer le moment où on a changé l'état du relais 2
previousMillisRelais2 = currentMillis;
// Changer l'état du relais 2
etatRelais2 = !etatRelais2;
digitalWrite(relais2, etatRelais2);
}
} |
Partager