#define RELAY_POMPE_POSITIF 2
#define RELAY_POMPE_NEGATIF 3
#define RELAY_ARRET_POMPE 4
#define RELAY_VERIN_COUPE 5
#define RELAY_VERIN_SERTISSAGE 6
#define RELAY_LAMPE 7
#define CAPTEUR_TCRT5000 A0
int tours = 0;
void setup() {
pinMode(RELAY_POMPE_POSITIF, OUTPUT);
pinMode(RELAY_POMPE_NEGATIF, OUTPUT);
pinMode(RELAY_ARRET_POMPE, OUTPUT);
pinMode(RELAY_VERIN_COUPE, OUTPUT);
pinMode(RELAY_VERIN_SERTISSAGE, OUTPUT);
pinMode(RELAY_LAMPE, OUTPUT);
pinMode(CAPTEUR_TCRT5000, INPUT);
}
void loop() {
// Allumer la lampe pendant 3 secondes
digitalWrite(RELAY_LAMPE, HIGH);
delay(3000);
digitalWrite(RELAY_LAMPE, LOW);
// Début de la boucle
while (true) {
// Allumer le relais de pompe dans le sens positif jusqu'à 100 tours
while (tours < 100) {
digitalWrite(RELAY_POMPE_POSITIF, HIGH);
// Attendre la détection d'un tour par le capteur infrarouge
while (digitalRead(CAPTEUR_TCRT5000) == HIGH) {
// Attente de la transition LOW
}
// Incrémenter le compteur de tours
tours++;
}
// Arrêter la pompe après 100 tours
digitalWrite(RELAY_POMPE_POSITIF, LOW);
digitalWrite(RELAY_ARRET_POMPE, HIGH);
delay(500);
digitalWrite(RELAY_ARRET_POMPE, LOW);
tours = 0; // Réinitialiser le compteur de tours
// Allumer le relais de pompe dans le sens négatif jusqu'à 2 tours
while (tours < 2) {
digitalWrite(RELAY_POMPE_NEGATIF, HIGH);
// Attendre la détection d'un tour par le capteur infrarouge
while (digitalRead(CAPTEUR_TCRT5000) == HIGH) {
// Attente de la transition LOW
}
// Incrémenter le compteur de tours
tours++;
}
// Arrêter la pompe après 2 tours
digitalWrite(RELAY_POMPE_NEGATIF, LOW);
digitalWrite(RELAY_ARRET_POMPE, HIGH);
delay(500);
digitalWrite(RELAY_ARRET_POMPE, LOW);
tours = 0; // Réinitialiser le compteur de tours
// Allumer le relais de vérin de sertissage pendant 2 secondes
digitalWrite(RELAY_VERIN_SERTISSAGE, HIGH);
delay(2000);
// Allumer le relais de vérin de coupe pendant 1 seconde
digitalWrite(RELAY_VERIN_COUPE, HIGH);
delay(1000);
digitalWrite(RELAY_VERIN_COUPE, LOW);
// Éteindre le relais de vérin de sertissage
digitalWrite(RELAY_VERIN_SERTISSAGE, LOW);
}
}