🛠 Bouton et console série sur la GIGA R1 WiFi
Objectifs
Lire une entrée numérique, l'antirebondir proprement, et dialoguer avec le port série natif de la GIGA R1 WiFi (disponible dès le branchement sur le port USB-C USB0, sans convertisseur USB-série). Vous apprendrez aussi la règle d'or des broches : logique 3,3 V, jamais de signal 5 V, et INPUT_PULLUP pour éviter le câblage au plus.
Matériel
- Carte Arduino GIGA R1 WiFi + câble USB-C
- 1 bouton poussoir entre la broche 6 et GND (aucune résistance externe nécessaire : on utilise la pull-up interne)
- Optionnel : 1 LED + 330 Ω sur la broche 5 pour confirmer visuellement l'appui
Code complet
// GIGA R1 WiFi — bouton + console série avec anti-rebond
const int BTN_PIN = 6; // bouton vers GND, pull-up interne
const int LED_PIN = 5; // LED + 330 ohms vers GND
volatile unsigned long appuis = 0;
int etatPrecedent = HIGH;
unsigned long dernierChangement = 0;
const unsigned long ANTI_REBOND = 30; // ms
void setup {
Serial.begin(115200); // port série natif sur USB-C (USB0)
while (!Serial) {} // attend l'ouverture du moniteur (USB natif)
pinMode(BTN_PIN, INPUT_PULLUP); // 3.3 V logic — jamais de signal 5 V
pinMode(LED_PIN, OUTPUT);
Serial.println("GIGA R1 WiFi prete : appuyez sur le bouton broche 6");
}
void loop {
int état = digitalRead(BTN_PIN);
unsigned long maintenant = millis;
if (état != etatPrecedent && maintenant - dernierChangement > ANTI_REBOND) {
dernierChangement = maintenant;
etatPrecedent = état;
if (état == LOW) { // bouton actif a l'état LOW (pull-up)
appuis++;
digitalWrite(LED_PIN, HIGH);
Serial.print("Appui n#"); Serial.print(appuis);
Serial.print(" — uptime "); Serial.print(maintenant / 1000); Serial.println(" s");
} else {
digitalWrite(LED_PIN, LOW);
}
}
}
Vérification attendue
Ouvrez le moniteur série à 115200 bauds : le message de bienvenue s'affiche. Chaque appui imprime une ligne « Appui n#1 — uptime 12 s » etc., sans doublons parasites (l'anti-rebond de 30 ms fait son travail). La LED témoin s'allume pendant l'appui.
Erreurs fréquentes
- Le moniteur série reste vide : avec l'USB natif, le
while (!Serial)attend l'ouverture du moniteur ; si vous lancez le sketch sans moniteur, il tourne en attente — c'est voulu. Rebranchez ou ouvrez le moniteur. - Bouton câblé vers 3,3 V sans pull-down : fonctionne aussi, mais il faut alors
INPUT_PULLDOWNou une résistance externe ; le schéma pull-up + GND est le plus simple. - Appuis comptés plusieurs fois : anti-rebond absent ou trop court ; remontez
ANTI_REBONDà 50 ms. - Vitesse incohérente : le port série natif ignore le débit réel, mais gardez 115200 des deux côtés pour éviter les surprises avec d'autres outils.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.inoArduinobouton.inoArduinorespiration.inoArduinoanalogique.inoArduinodac-onde.inoArduinooled-i2c.inoArduino