🛠 Bouton poussoir et console série

Arduino MKR WAN 1300 · debutant · Schéma : IMG-mkr-wan-1300-debutant-2-mkrwan-bouton-console.svg — bouton poussoir câblé entre la broche 2 et la masse sur breadboard

Objectifs

Lire une entrée numérique avec un bouton poussoir, gérer le rebond logiciel et dialoguer avec la console série via l'USB natif du SAMD21 (Full-Speed, VID 0x2341, PID applicatif 0x0053).

Matériel

Code complet

// Logique 3,3 V, max ~7 mA par broche (famille MKR).
const uint8_t BTN = 2;
volatile uint32_t appuis = 0;

void onBouton { appuis++; }

void setup {
  Serial.begin(115200);
  while (!Serial) {}           // attend l'ouverture du moniteur
  pinMode(BTN, INPUT_PULLUP);  // bouton vers GND
  attachInterrupt(digitalPinToInterrupt(BTN), onBouton, FALLING);
}

void loop {
  static uint32_t dernier = 0;
  if (millis - dernier > 500) {
    dernier = millis;
    Serial.print("état=");
    Serial.print(digitalRead(BTN) ? "relache" : "APPUIE");
    Serial.print(" appuis=");
    Serial.println(appuis);
  }
  delay(5);
}

Vérification attendue

Chaque appui incrémente le compteur ; l'état change sur la ligne affichée deux fois par seconde. « while (!Serial) » évite de perdre les premières lignes.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels