////////////////////////// // Comprendre // // Les résistances de // // PULL-UP et PULL-DOWN // ////////////////////////// /* Une résistance de pullup c'est lorsque la broche est branchée à une résistance reliée au niveau haut de la carte (HIGH) Ce programme allume la led de la carte lorsqu'on appuie sur un bouton poussoir. Matériel : - un arduino uno - un bouton poussoir - une résistance de 10kohm - des cables dupont - une breadboard Dans ce programme on regarde ce que cela fait avec une resistance de PULL-UP : le bouton est branché à la broche 11 de l'Arduino UNO L'autre bout du bouton est connecté au GND de l'Arduino La broche 11 est également connectée au +5V de l'Arduino par la résistance de 10kohms. On dit que la résistance "tire" la broche vers l'état "haut". ___ / ___ \ |_| | | /_/ _ ___ _ |_| |___|_| |_ ___|_ _| |___| |_| Les petits Débrouillards - décembre 2020 - CC-By-Sa http://creativecommons.org/licenses/by-nc-sa/3.0/ */ // Déclaration des "variables" constantes const int brocheBouton = 11;// Broche où est connectée le bouton const int brocheLed = 13; // Broche 13, où la led interne de l'Arduino UNO est connectée // Variable d'etat bool etatBouton = LOW; // Variable permettant de récupérer l'etat du bouton void setup() { pinMode(brocheLed, OUTPUT); // Initialisation de la broche de la led en sortie pinMode(brocheBouton, INPUT);// Initialisation de la broche du bouton Serial.begin(9600); // on démarre la communication série pour bien voir ce qui se passe } void loop() { // Lecture de l'état du bouton et stockage dans la variable etatBouton etatBouton = digitalRead(brocheBouton); Serial.print("état du bouton : "); // on écrit dans le moniteur série Serial.println(etatBouton); //le bouton est "tiré" vers l'état haut (HIGH) par la résistance de pullup // Si le bouton est appuyé, on allume la led. Le bouton passe à l'état bas quand on appuie dessus if (etatBouton == LOW) { // le bouton est amnené à l'état bas (LOW) en cas d'appuie (connecté au GND). // allumage de la led digitalWrite(brocheLed, HIGH); Serial.print("état du bouton : "); Serial.println(etatBouton); // on écrit dans le moniteur série } else { // sinon on éteint de la led digitalWrite(brocheLed, LOW); } }