/* Lycée PE MARTIN
Le 173/11/2023
Titre : Système d'Aspiration
Matériels : Arduino Uno, 2 led, 5 switchs et 2 boutons-poussoir sur Pull-Up interne
Description : voir sujet du TP
*/
// Entrées
#define E_P2 12 // Etat logique (Activé / Non Activé) de l'aspiration sur le Poste 2
#define E_P3 10 // " Poste 3
#define E_P4 11 // " Poste 4
#define E_TP 9 // Trémie pleine
#define E_P 8 // Vide trop poussé
#define E_BPM1 7 // Activation de l'aspiration sur le Poste 1
#define E_BPA1 6 // Désactivation de l'aspiration sur le poste 1
// Sorties
#define S_LED_D1 3
#define S_LED_P1 2
// Initialisation des variables (globales)
bool P1, X, Reset, Set, D1 = LOW;
void setup() {
// Configuration des E/S
pinMode(E_P2, INPUT_PULLUP); pinMode(E_P3, INPUT_PULLUP);
pinMode(E_P4, INPUT_PULLUP); pinMode(E_TP, INPUT_PULLUP);
pinMode(E_P, INPUT_PULLUP); pinMode(E_BPM1, INPUT_PULLUP);
pinMode(E_BPA1, INPUT); pinMode(S_LED_D1, OUTPUT);
pinMode(S_LED_P1, OUTPUT);
}
void loop() {
// Lecture des entrées
bool P2 = !digitalRead(E_P2);
bool P3 = !digitalRead(E_P3);
bool P4 = !digitalRead(E_P4);
bool TP = !digitalRead(E_TP);
bool P = !digitalRead(E_P);
bool BPM1 = !digitalRead(E_BPM1);
bool BPA1 = !digitalRead(E_BPA1);
// Traitement
X = (P2 && P3) || (P2 && P4) || (P3 && P4);
Reset = !BPA1 || TP || P;
Set = !X && BPM1;
P1 = (P1 || Set) && !Reset;
D1 = (X || TP || P) && BPM1;
// Ecriture sur les sorties
digitalWrite(S_LED_D1, D1);
digitalWrite(S_LED_P1, P1);
}
P1
P2
P3
P4
P
TP
M1
A1
D1
R1
R2
R3
P1
P2
P4
P
D1
R1
R2
R3
<< Aspiration centralisée V1 (Poste 1) >>
M1 : Activation de l'aspiration sur le Poste 1
A1 : Désactivation de l'aspiration sur le Poste 1
D1 : Défaut sur TP ou P
P1 : Etat de l'électrovanne du Poste 1
P2 : Simulation état électrovanne Poste 2
P3 : Simulation état électrovanne Poste 3
P4 : Simulation état électrovanne Poste 4
TP : Simulation trémie pleine sur Poste 1
P : Simulation vide trop poussé sur Poste 1
0
1