🛠 Bouton USER et console série USB-C
Objetivos
Leer el botón USER del Nano ESP32 con una resistencia de pull-up interna (INPUT_PULLUP) y mostrar el estado, así como un contador de pulsaciones, en la consola serie USB-C nativa. Esta es la base de toda interacción humano-máquina en la placa.
Material
- 1 × Arduino Nano ESP32 + cable USB-C
- El botón USER integrado (el botón BOOT sirve para entrar en el bootloader, no para los sketches)
- >
Código completo
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);
}
Verificación esperada
Cada pulsación de USER imprime «Pulsación n.º 1», «Pulsación n.º 2», etc., en el monitor serie a 115200 baudios, sin duplicados gracias a la antirrebote por software.
Errores frecuentes
- INPUT sin pull-up: la entrada queda flotante y la consola muestra pulsaciones fantasma.
- Olvidar la antirrebote: una sola pulsación física genera varias líneas.
- Confundir BOOT y USER: BOOT (con reset) sirve para el bootloader DFU, no para las pruebas.
- Monitor cerrado o velocidad de transmisión incorrecta: no se muestra nada aunque el código se esté ejecutando.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
connexion-wifi.inoArduinopoint-acces.inoArduinoble-capteur.inoArduinoneoled-rgb.inoArduinoadc-12bits.inoArduinopreferences.inoArduino