🛠 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

Objetivos

Aprender a leer una entrada digital con la resistencia de pull-up interna (INPUT_PULLUP, 20-50 kΩ en el ATmega328P): el botón conecta el pin a tierra, por lo que el estado está INVERTIDO (LOW = pulsado). Encendemos el LED integrado (pin 13) cuando se pulsa el botón, con una antirrebote de software simple. El pin 2 está bien elegido: también es la interrupción externa INT0, útil para despertar la placa en modo de sueño profundo en tutoriales avanzados.

Material

Código completo

// 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);             // meme debit 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 chaine reste en flash
  }
}

Verificación esperada

Al programar, el LED está apagado y el monitor serie (57600 baudios) muestra « ¡pulso! » en cada pulsación firme del botón, alternando el estado del LED. Sin botón pulsado, digitalRead(BTN) vale HIGH gracias al pull-up interno: el montaje permanece estable en reposo. Tenga en cuenta el uso de F alrededor de las cadenas: con 32 KB de flash de los cuales 2 KB están ocupados por el bootloader, cada byte cuenta en el Pro Mini.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales