🛠 Bouton avec pull-up interne

Arduino Pro Mini · debutant · Schéma : IMG-pro-mini-debutant-2-promini-bouton-pullup.svg — bouton poussoir câblé entre la broche 2 et la masse sur Arduino Pro Mini, pull-up interne activé, LED builtin témoin

Objectifs

Apprendre à lire une entrée numérique avec la résistance de pull-up interne (INPUT_PULLUP, 20-50 kΩ sur l'ATmega328P) : le bouton relie la broche à la masse, donc l'état est INVERSÉ (LOW = appuyé). On allume la LED builtin (broche 13) quand le bouton est pressé, avec un anti-rebond logiciel simple. La broche 2 est bien choisie : c'est aussi l'interruption externe INT0, utile pour réveiller la carte en sommeil profond dans les tutos avancés.

Matériel

Code complet

// Bouton sur broche 2, pull-up interne : LOW = appuyé
const uint8_t BTN = 2;
const uint8_t LED = LED_BUILTIN;   // broche 13
uint32_t dernierAppui = 0;

void setup {
  pinMode(BTN, INPUT_PULLUP);      // pull-up interne activé
  pinMode(LED, OUTPUT);
  Serial.begin(57600);             // même débit que le bootloader d'usine
}

void loop {
  bool appuye = (digitalRead(BTN) == LOW);   // logique inversée
  if (appuye && millis - dernierAppui > 50) {
    dernierAppui = millis;                 // anti-rebond 50 ms
    digitalWrite(LED, !digitalRead(LED));
    Serial.println(F("appui !"));            // F : la chaîne reste en flash
  }
}

Vérification attendue

Au téléversement, la LED est éteinte et le moniteur série (57600 bauds) affiche « appui ! » à chaque pression franche du bouton, en alternant l'état de la LED. Sans bouton enfoncé, digitalRead(BTN) vaut HIGH grâce au pull-up interne : le montage reste stable au repos. Notez l'usage de F autour des chaînes : avec 32 Ko de flash dont 2 Ko pris par le bootloader, chaque octet compte sur Pro Mini.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels