🛠 Bouton poussoir et console série sur le GIGA R1
Objetivos
Aprender a leer una entrada digital con una resistencia de pull-up interna y a comunicarse con el PC a través del puerto serie USB-C del GIGA R1. También descubrirás una trampa documentada del núcleo Mbed: el printf nativo no se muestra en el puerto serie USB (problema #958), por lo que es necesario utilizar el objeto Serial de Arduino.
Material
- 1 placa Arduino GIGA R1 WiFi
- 1 botón pulsador
- 1 cable USB-C de datos
- No se necesita ninguna resistencia: activamos la pull-up interna
Código completo
// GIGA R1 WiFi — bouton poussoir + console série
#include <Arduino.h>
const int BOUTON = D2; // bouton entre D2 et GND (pull-up interne activé)
void setup {
Serial.begin(115200); // console série sur USB-C
pinMode(BOUTON, INPUT_PULLUP);
Serial.println("Appuyez sur le bouton !");
}
void loop {
if (digitalRead(BOUTON) == LOW) { // contact fermé -> LOW (pull-up)
Serial.println("Bouton appuyé !");
delay(200); // anti-rebond logiciel simple
}
}
Conecte una pata del botón al pin D2 y la otra pata a GND. El potencial se mantiene en alto por la pull-up interna mientras el botón está abierto.
Verificación esperada
Al iniciar, el Monitor serie (115200 baudios) muestra «¡Pulsa el botón!». Cada pulsación muestra «¡Botón pulsado!» con una frecuencia limitada por la antirrebote de 200 ms. Soltar el botón no produce ninguna línea.
Errores frecuentes
> NO VERIFICADO: la correspondencia exacta de los pines de la serigrafía no ha podido ser verificada (página de especificaciones renderizada en el cliente); adapte el número de pin si es necesario.
- Confusión de lógica: con
INPUT_PULLUP, la señal es LOW cuando se pulsa, no HIGH. - Botón conectado entre el pin y 3,3 V sin resistencia: cortocircuito o lectura invertida.
- Esperar la salida de un
printf("...")de C en el Monitor serie: en el núcleo Mbed del GIGA,printfno llega al puerto serie USB (error #958, corregido desde entonces); utilice siempreSerial.print. - Monitor serie cerrado o velocidad de transmisión incorrecta: no se ve ninguna salida.
- Olvidar el
delay(200)de antirrebote: ráfagas de pulsaciones fantasma.
Otros tutoriales para esta placa
- Faire clignoter la LED de l'Arduino GIGA R1
- Potentiomètre et sortie DAC sur la prise audio du GIGA R1
- Piloter un micro-servo avec la PWM du GIGA R1
- Connecter un capteur I2C sur le GIGA R1
- Publier des données en MQTT/HTTP via le Wi-Fi du GIGA R1
- Programmer les deux cœurs M7 et M4 du GIGA R1 et les faire communiquer
Ejemplos de código para esta placa
clignotante.inoArduinobouton.inoArduinorespiration.inoArduinoanalogique.inoArduinodac-onde.inoArduinooled-i2c.inoArduino