bouton-poussoir.ino

Arduino UNO R4 Minima · Archivo : bouton-poussoir.ino · Lenguaje : Arduino · Uso : Allumer une LED sur appui bouton avec anti-rebond

El montaje botón/LED clásico, idéntico a los Arduino históricos: el core del R4 mantiene las mismas primitivas (INPUT_PULLUP, digitalRead). Base de toda interfaz humana en la placa.

Hardware

Un Arduino UNO R4 Minima (Renesas RA4M1, Cortex-M4 @ 14 MHz, 5 V, DAC de 12 bits, sin radio) alimentado por USB o 6-24 V. 1 botón pulsador + 1 LED + resistencia de 330 Ω.

Cableado

Botón entre D2 y GND (pull-up interno). LED + 330 Ω entre D13 y GND. Pines tolerantes a 5 V (lógica compatible con 5 V).

Funcionamiento

La lectura se valida tras 30 ms de estabilidad; la pulsación (LOW con pull-up) enciende el LED y escribe en el monitor serie.

Ejecución

Arduino IDE 2.x (con el core « Arduino UNO R4 Boards » instalado), elige « Arduino UNO R4 Minima », selecciona el puerto y Subir. El monitor serie está a 9600.

Variantes

Contador de pulsaciones en la matriz (R4 WiFi), o doble clic con medida de intervalo entre flancos.

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

← Volver a la ficha