🛠 Bouton USER et console série USB-C
Objectifs
Lire le bouton USER du Nano ESP32 avec une résistance de pull-up interne (INPUT_PULLUP) et afficher l'état ainsi qu'un compteur d'appuis sur la console série USB-C native. C'est la base de toute interaction homme-machine sur la carte.
Matériel
- 1 × Arduino Nano ESP32 + câble USB-C
- Le bouton USER embarqué (le bouton BOOT sert à entrer en bootloader, pas aux sketches)
- >
Code complet
const uint8_t BTN = 2; // D2, cf. exemple GPIO officiel du Nano ESP32
uint32_t appuis = 0;
uint32_t derniereMs = 0;
void setup {
Serial.begin(115200); // série native USB-C
pinMode(BTN, INPUT_PULLUP); // pull-up interne : appui = LOW
Serial.println("Appuyer sur USER...");
}
void loop {
bool appuye = (digitalRead(BTN) == LOW);
uint32_t now = millis;
if (appuye && now - derniereMs > 200) { // anti-rebond logiciel 200 ms
derniereMs = now;
appuis++;
Serial.printf("Appui n°%lu\n", (unsigned long)appuis);
}
delay(10);
}
Vérification attendue
Chaque appui sur USER imprime « Appui n°1 », « Appui n°2 », etc. dans le moniteur série à 115200 bauds, sans doublons grâce à l'anti-rebond logiciel.
Erreurs fréquentes
- INPUT sans pull-up : l'entrée flotte et la console affiche des appuis fantômes.
- Oubli de l'anti-rebond : un seul appui physique génère plusieurs lignes.
- Confondre BOOT et USER : BOOT (avec reset) sert au bootloader DFU, pas aux tests.
- Moniteur fermé ou mauvais débit : rien ne s'affiche alors que le code tourne.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
connexion-wifi.inoArduinopoint-acces.inoArduinoble-capteur.inoArduinoneoled-rgb.inoArduinoadc-12bits.inoArduinopreferences.inoArduino