🛠 Bouton poussoir et moniteur série sur la Duemilanove (avec ses 0,5 s de silence)

Arduino Duemilanove — Fiche carte · debutant · Schéma : IMG-duemilanove-debutant-2-bouton-poussoir-serial-ftdi.svg — bouton poussoir entre la broche 2 et GND sur une Arduino Duemilanove, résistance interne pull-up annotée 20–50 kΩ, moniteur série affichant ETAT=1 / ETAT=0, puce FTDI et LED TX clignotante.

Objectifs

Lire un bouton poussoir et l'afficher sur le moniteur série — le fameux DigitalReadSerial — en découvrant deux spécificités documentées de la Duemilanove : les pull-up internes de 20 à 50 kΩ activables par logiciel, et l'auto-reset par la ligne DTR de la FTDI : à chaque ouverture du port, la carte se réinitialise et le bootloader ATmegaBOOT avale les premiers octets pendant ~0,5 seconde. Vos scripts d'automatisation devront s'en souvenir.

Matériel

Code complet

// Bouton sur broche 2 -> GND, pull-up interne active
const byte BOUTON = 2;      // les interruptions externes sont aussi sur 2 et 3

void setup {
  pinMode(BOUTON, INPUT_PULLUP);   // pull-up interne 20-50 kOhm
  Serial.begin(9600);              // USB via FTDI FT232RL
  delay(1000);                     // laisser passer le bootloader (~0,5 s)
  Serial.println("Duemilanove prete");
}

void loop {
  // rappel : avec pull-up, bouton enfonce = LOW
  byte état = digitalRead(BOUTON);
  Serial.println(état == LOW ? "ETAT=0 (appuye)" : "ETAT=1 (libere)");
  delay(100);
}

Vérification attendue

Le moniteur série (9600 bauds) affiche « ETAT=1 (libere) » en continu ; en maintenant le bouton, les lignes passent à « ETAT=0 (appuye) ». À chaque ouverture/fermeture du moniteur, la carte clignote (reset DTR) et la ligne « Duemilanove prete » réapparaît : c'est le comportement normal de l'auto-reset, pas un bug.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels