🛠 Bouton poussoir et console série

Arduino MKR WAN 1310 · debutant · Schéma : IMG-mkr-wan-1310-debutant-2-mkrwan1310-bouton-console-serie.svg — Bouton poussoir câblé entre la broche 1 et GND sur une MKR WAN 1310, moniteur série à l'écran.

Objectifs

Lire un bouton poussoir sur une broche digitale de la MKR WAN 1310, compter les appuis et les afficher sur la console série via l'USB natif du SAMD21. Rappels : 8 broches digitales 3,3 V, 8 interruptions externes (0, 1, 4, 5, 6, 7, 8, 16/A1, 17/A2), 7 mA max par broche.

Matériel

Code complet

// Bouton sur broche 1 + console série — MKR WAN 1310
const int BUTTON = 1;   // broche compatible EINT pour un réveil future
const int LED    = 6;   // LED_BUILTIN
unsigned long appuis = 0;
unsigned long dernierAppui = 0;

void setup {
  pinMode(BUTTON, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
  Serial.begin(115200);
  while (!Serial);
  Serial.println("Appuyez sur le bouton (broche 1 -> GND)");
}

void loop {
  if (digitalRead(BUTTON) == LOW) {          // actif bas : tirage interne
    unsigned long maintenant = millis;
    if (maintenant - dernierAppui > 50) {    // anti-rebond logiciel 50 ms
      appuis++;
      dernierAppui = maintenant;
      Serial.print("Appui n°");
      Serial.println(appuis);
      digitalWrite(LED, HIGH);
    } else {
      digitalWrite(LED, LOW);
    }
  }
}

Vérification attendue

Chaque appui affiche « Appui n°X » dans le moniteur série (115200 bauds) et allume D6. Le compteur n'augmente pas de plusieurs crans d'un seul appui grâce à l'anti-rebond.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels