// La broche numérique 6 est reliée à la led verte. On lui donne le nom LedVerte. int LedVerte = 6; // Etc... int LedRouge = 5; int LedJaune = 4; int LedBlanche = 3;
// La valeur Analogique du Bouton 1 appuyé est égale à 0. int ValeurAnaBT1 = 0; int ValeurAnaBT2 = 67; int ValeurAnaBT3 = 181; int ValeurAnaBT4 = 306;
// Déclaration variable Tolérance qui va servir à stocker une valeur au format int. //On servira à définir une tolérance de 10 pour les valeurs analogiques des boutons. int Tolerance = 10;
// Déclaration variable DetctBTe qui va servir à stocker une valeur au format boolean soit 0 ou 1. boolean DetctBT;
void setup() { // Initialiser la communication série à 9600 bits par seconde Serial.begin(9600); // Définit LedVerte comme sortie. pinMode(LedVerte, OUTPUT); // Etc... pinMode(LedRouge, OUTPUT); pinMode(LedJaune, OUTPUT); pinMode(LedBlanche, OUTPUT); } void loop() { // Lit la broche analogique A0 et stock ça valeur dans ValeurA0 au format int. int ValeurA0 = analogRead(A0); // Imprime la valeur de "ValeurA0" dans le moniteur série. Serial.println(ValeurA0);
// Si ValeurA0 est plus petit ou égal à ValeurAnaBT1 + la Tolerance // Et que la variable DetctBT est à 0 if (ValeurA0 <= ValeurAnaBT1 + Tolerance && DetctBT == 0) { //Alors on allume la LedVerte digitalWrite(LedVerte, HIGH); //Et on modifie la valeur de DetctBT à 1 DetctBT = 1; } // Sinon si ValeurA0 est plus petit ou égal à ValeurAnaBT2 + la Tolerance // Et que la variable DetctBT est à 0 else if (ValeurA0 <= ValeurAnaBT2 + Tolerance && DetctBT == 0) { digitalWrite(LedRouge, HIGH); DetctBT = 1; } else if (ValeurA0 <= ValeurAnaBT3 + Tolerance && DetctBT == 0) { digitalWrite(LedJaune, HIGH); DetctBT = 1; } else if (ValeurA0 <= ValeurAnaBT4 + Tolerance && DetctBT == 0) { digitalWrite(LedBlanche, HIGH); DetctBT = 1; } // Sinon si ValeurA0 est plus grande que la ValeurAnaBT4 + la Tolerance // Et que la variable DetctBT est à 1 //(Signifie que tous les boutons sont revenus au repos après un appuie.) else if (ValeurA0 > ValeurAnaBT4 + Tolerance && DetctBT == 1) { //Alors on éteint toutes les sorties digitalWrite(LedVerte, LOW); digitalWrite(LedRouge, LOW); digitalWrite(LedJaune, LOW); digitalWrite(LedBlanche, LOW); //Et on modifie la valeur de DetctBT à 0 DetctBT = 0; //On attend 40 ms pour éviter les anti-rebonds. delay(40); } }