bouton-poussoir.ino
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.
}