🛠 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

Objetivos

Leer una entrada digital con un botón pulsador, gestionar el rebote por software y comunicarse con la consola serie a través del USB nativo del SAMD21 (Full-Speed, VID 0x2341, PID de aplicación 0x0053).

Material

Código completo

// 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("etat=");
    Serial.print(digitalRead(BTN) ? "relache" : "APPUIE");
    Serial.print(" appuis=");
    Serial.println(appuis);
  }
  delay(5);
}

Verificación esperada

Cada pulsación incrementa el contador; el estado cambia en la línea mostrada dos veces por segundo. « while (!Serial) » evita perder las primeras líneas.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales