🛠 Bouton et console série : Serial (USB) vs Serial1 (broches 0/1)

Arduino Leonardo — Ficha de placa · debutant · Schéma : IMG-leonardo-debutant-2-leonardo-bouton-console-serie.svg — Bouton câblé entre la broche 2 et GND sur une Leonardo, moniteur série affiché à l'écran

Objetivos

Leer un botón pulsador con digitalRead, mostrar mensajes en el monitor serie y comprender la principal trampa de la Leonardo al migrar desde una Uno: aquí Serial se refiere al puerto USB (CDC), mientras que la UART TTL de los pines 0 y 1 se llama Serial1. El botón utilizará la resistencia de pull-up interna (20 a 50 kΩ), por lo que el montaje es activo-LOW.

Material

Código completo

// Broche 2 = aussi une interruption matérielle (int1) sur Leonardo
const uint8_t BUTTON_PIN = 2;

void setup {
  pinMode(BUTTON_PIN, INPUT_PULLUP); // pull-up interne 20-50 kOhm, actif-LOW
  Serial.begin(9600); // ATTENTION : sur Leonardo, Serial = USB CDC, PAS les broches 0/1 !
  while (!Serial) { /* attend l'ouverture du moniteur */ }
  Serial.println("Leonardo prete : appuyez sur le bouton (broche 2).");
}

void loop {
  if (digitalRead(BUTTON_PIN) == LOW) { // bouton enfoncé = LOW
    Serial.println("Bouton presse !");
    delay(200); // anti-rebond logiciel simple
  }
}

Verificación esperada

Abra el monitor serie del IDE a 9600 baudios: se muestra el mensaje de bienvenida. Cada pulsación del botón imprime una línea. El while (!Serial) espera a que el puerto USB CDC sea abierto por el ordenador — una especificidad del USB nativo de la Leonardo que no existe en la Uno.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales