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

Arduino Nano Every · debutant · Schéma : IMG-nano-every-debutant-2-nanoevery-bouton-pullup.svg — Bouton à bouton-poussoir câblé entre la broche 2 et GND sur une Nano Every, avec le symbole de la résistance de pull-up interne dessinée dans la puce

Objectifs

Apprendre à lire une entrée numérique sur la Nano Every avec un bouton-poussoir, en utilisant la résistance de pull-up interne (INPUT_PULLUP) plutôt qu'une résistance externe. La carte dispose de 22 broches d'E/S numériques (0 à 21) en logique 5 V.

Matériel

Code complet

// Bouton sur broche 2, logique inversée grâce au pull-up interne
const uint8_t BTN = 2;
bool etatPrecedent = HIGH;

void setup {
  pinMode(LED_BUILTIN, OUTPUT);   // broche 13
  pinMode(BTN, INPUT_PULLUP);     // pull-up interne : HIGH au repos
  Serial.begin(9600);
}

void loop {
  bool état = digitalRead(BTN);   // LOW = pressé
  if (état != etatPrecedent) {
    delay(30);                    // anti-rebond logiciel grossier
    état = digitalRead(BTN);
    Serial.println(état == LOW ? "Bouton presse" : "Bouton lache");
    etatPrecedent = état;
  }
  digitalWrite(LED_BUILTIN, état == LOW ? HIGH : LOW);
}

Vérification attendue

Branchez le bouton entre la broche 2 et GND : au repos digitalRead vaut HIGH (pull-up interne) et la LED 13 est éteinte ; en appuyant, la lecture passe à LOW, la LED s'allume et le moniteur série (9600 bauds) affiche l'événement. Aucune résistance externe n'est nécessaire.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels