bouton.ino
Les 76 E/S de la GIGA se pilotent comme sur une Uno : INPUT_PULLUP, digitalRead, anti-rebond. Le schéma mental Arduino reste valide, seule la tension (3,3 V) change les montages 5 V.
Matériel requis
Une Arduino GIGA R1 WiFi (STM32H747, module radio 1DX : Wi-Fi b/g/n + BLE, antenne u.FL fournie), alimentée par USB-C. 1 bouton poussoir (D2 vers GND).
Branchement
Bouton entre D2 et GND, pull-up interne. Toutes les broches sont 3,3 V max — vérifier les modules 5 V avant de brancher.
Fonctionnement
Le patron échantillonnage + fenêtre de stabilité est indépendant de la plateforme ; la GIGA le fait tourner à 480 MHz sans effort. Dans l'Arduino IDE, plateforme « Arduino Zephyr-based Boards », carte « Arduino Giga R1 » ; montez l'antenne u.FL avant d'utiliser le radio, puis Téléverser.
Pour aller plus loin
Un bus de 8 boutons sur un port (lecture GPIO rapide), ou un menu écran via l'I2C du sketch OLED.
bouton.ino
// Bouton sur D2 (vers GND) + temoin LED 13, anti-rebond.
const int BOUTON = D2;
const unsigned long ANTI_REBOND = 30;
bool dernier = HIGH, stable = HIGH;
unsigned long bord = 0;
void setup() {
pinMode(BOUTON, INPUT_PULLUP);
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(115200);
}
void loop() {
bool lu = digitalRead(BOUTON);
unsigned long t = millis();
if (lu != dernier) bord = t;
if (t - bord >= ANTI_REBOND && lu != stable) {
stable = lu;
digitalWrite(LED_BUILTIN, !stable);
Serial.println(stable == LOW ? "APPUIE" : "relache");
}
dernier = lu;
}