🛠 Lire un bouton avec une résistance de pull-up interne

Arduino Micro · debutant · Schéma : IMG-micro-debutant-2-micro-bouton-pull-up.svg — Bouton à connexion branché entre la broche 2 et GND sur une Arduino Micro, avec la résistance de pull-up interne symbolisée sur l'entrée

Objectifs

Lire un bouton poussoir sur l'Arduino Micro en utilisant la résistance de pull-up interne (20 à 50 kΩ), sans composant externe, et comprendre la logique active-low.

Matériel

Code complet

// Bouton sur broche 2 vers GND, pull-up interne actif.
// Logique active-low : lecture LOW quand le bouton est enfonce.
const uint8_t BTN = 2;   // les broches 0,1,2,3,7 portent aussi une interruption externe
bool etatLed = false;

void setup {
  pinMode(BTN, INPUT_PULLUP);     // pull-up interne 20-50 kOhm
  pinMode(LED_BUILTIN, OUTPUT);   // broche 13
  Serial.begin(9600);             // Serial = port USB CDC
}

void loop {
  if (digitalRead(BTN) == LOW) {  // bouton enfonce
    delay(50);                    // anti-rebond grossier
    if (digitalRead(BTN) == LOW) {
      etatLed = !etatLed;
      digitalWrite(LED_BUILTIN, etatLed);
      Serial.println(etatLed ? "LED ON" : "LED OFF");
      while (digitalRead(BTN) == LOW) {}  // attendre le relachement
    }
  }
}

Vérification attendue

Chaque appui bascule la LED 13 et affiche LED ON / LED OFF dans le Moniteur série (port série du Micro). Aucun rebond visible : un appui donne une seule ligne.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels