bouton.ino

Arduino GIGA R1 · Fichier : bouton.ino · Langage : Arduino · Usage : Lire un bouton avec résistance interne

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 carte Arduino Giga R1 (STM32H747 double cœur M7 480 MHz + M4, 76 E/S, 2 DAC, FDCAN) alimentée par USB-C ou 5-24 V. 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, installez la plateforme « Arduino Zephyr-based Boards » (ou Mbed), choisissez « Arduino Giga R1 », puis Téléverser. Logique 3,3 V.

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;
}

← Retour à la fiche