🛠 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

Objetivos

Aprender a leer una entrada digital en la Nano Every con un botón pulsador, utilizando la resistencia de pull-up interna (INPUT_PULLUP) en lugar de una resistencia externa. La placa dispone de 22 pines de E/S digitales (0 a 21) con lógica de 5 V.

Material

Código completo

// 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 etat = digitalRead(BTN);   // LOW = pressé
  if (etat != etatPrecedent) {
    delay(30);                    // anti-rebond logiciel grossier
    etat = digitalRead(BTN);
    Serial.println(etat == LOW ? "Bouton presse" : "Bouton lache");
    etatPrecedent = etat;
  }
  digitalWrite(LED_BUILTIN, etat == LOW ? HIGH : LOW);
}

Verificación esperada

Conecte el botón entre el pin 2 y GND: en reposo digitalRead vale HIGH (pull-up interna) y el LED 13 está apagado; al pulsar, la lectura pasa a LOW, el LED se enciende y el monitor serie (9600 baudios) muestra el evento. No se necesita ninguna resistencia externa.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales