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

Arduino Leonardo — Fiche carte · 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

Objectifs

Lire un bouton poussoir avec digitalRead, afficher des messages dans le moniteur série, et comprendre le piège majeur de la Leonardo lors d'une migration depuis une Uno : ici Serial désigne le port USB (CDC), tandis que l'UART TTL des broches 0 et 1 s'appelle Serial1. Le bouton utilisera la résistance de pull-up interne (20 à 50 kΩ), donc un montage actif-LOW.

Matériel

Code complet

// 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
  }
}

Vérification attendue

Ouvrez le moniteur série de l'IDE à 9600 bauds : le message d'accueil s'affiche. Chaque appui sur le bouton imprime une ligne. Le while (!Serial) attend que le port USB CDC soit ouvert par l'ordinateur — une spécificité du USB natif de la Leonardo qui n'existe pas sur l'Uno.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels