bouton-poussoir.ino

Arduino UNO R4 Minima · Fichier : bouton-poussoir.ino · Langage : Arduino · Usage : Allumer une LED sur appui bouton avec anti-rebond

Le montage bouton/LED classique, identique aux Arduino historiques : le core du R4 reprend les mêmes primitives (INPUT_PULLUP, digitalRead). Base de toute interface homme-machine sur la carte.

Matériel requis

Une Arduino UNO R4 Minima (Renesas RA4M1, Cortex-M4 @ 14 MHz, 5 V, DAC 12 bits, sans radio) alimentée par USB ou 6-24 V. 1 bouton poussoir + 1 LED + résistance 330 Ω.

Câblage

Bouton entre D2 et GND (pull-up interne). LED + 330 Ω entre D13 et GND. Broches en 5 V tolérées (logique 5 V compatible).

Fonctionnement

La lecture est validée après 30 ms de stabilité ; l'appui (LOW en pull-up) allume la LED et écrit dans le moniteur série.

Exécution

Arduino IDE 2.x (core « Arduino UNO R4 Boards » installé), choisir « Arduino UNO R4 Minima », sélectionner le port et Téléverser. Le moniteur série est à 9600.

Variantes

Compteur d'appuis affiché sur la matrice (R4 WiFi), ou double-clic avec mesure d'intervalle entre fronts.

bouton-poussoir.ino

// Bouton sur D2 (vers GND) + LED sur D13, anti-rebond 30 ms.
const int BOUTON = 2;
const int LED = 13;

bool stable = HIGH, precedent = HIGH;
unsigned long dernierBord = 0;

void setup() {
  pinMode(BOUTON, INPUT_PULLUP);
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  bool lecture = digitalRead(BOUTON);
  unsigned long maintenant = millis();

  if (lecture != precedent) dernierBord = maintenant;
  if (maintenant - dernierBord >= 30 && lecture != stable) {
    stable = lecture;
    digitalWrite(LED, stable == LOW);   // appui -> LED
    Serial.println(stable == LOW ? F("appui") : F("relache"));
  }
  precedent = lecture;

  // Le RA4M1 est rapide (14 MHz) : le polling ne coute rien.
}

← Retour à la fiche