🛠 Bouton utilisateur et console série USB

Adafruit Feather nRF52840 Express · debutant · Schéma : IMG-nrf52840-feather-debutant-2-nrf52840-bouton-console-uart.svg — Feather nRF52840 avec le bouton USER relié à la broche D9, résistance de pull-up interne et moniteur série affiché à l'écran.

Objetivos

Leer el estado del botón USER de la Feather nRF52840 y mostrarlo en la consola serie USB. El nRF52840 posee un controlador USB nativo: el Serial del core de Arduino es un CDC-TinyUSB, no hay chip serie externo. También aprenderás sobre el antirrebote por software (millis) y la espera no bloqueante.

Material

Código completo

// nrf52840-bouton-console-uart.ino
const uint8_t BUTTON_PIN = 9;   // bouton USER (alias D9)
// > 
// sa broche exacte (D9 vient d'exemples CircuitPython) ; vérifier au multimètre
// ou avec le schéma officiel si rien ne se passe.

uint8_t lastState = HIGH;
uint32_t lastDebounce = 0;
uint32_t pressCount = 0;

void setup {
  Serial.begin(115200);          // console USB CDC native
  pinMode(BUTTON_PIN, INPUT_PULLUP); // le bouton USER relie la broche à GND
  Serial.println("Console Feather nRF52840 prete");
}

void loop {
  uint8_t state = digitalRead(BUTTON_PIN);
  uint32_t now = millis;
  if (state != lastState && (now - lastDebounce) > 30) {
    lastDebounce = now;
    lastState = state;
    if (state == LOW) {
      pressCount++;
      Serial.print("Appui n°");
      Serial.println(pressCount);
    }
  }
  if (Serial.available) {      // echo de la console vers la carte
    char c = Serial.read;
    Serial.print("Recu: ");
    Serial.println(c);
  }
}

Verificación esperada

Abre el monitor serie a 115200: cada pulsación del botón USER muestra «Pulsación n.º N» sin rebotes parásitos (sin duplicados con 1 ms de diferencia). Una letra tecleada en la consola se devuelve como eco.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales