Montage le plus simple que l'on puisse trouver.
//
// Exemples: Montage d’un bouton poussoir sur une carte Arduino Uno
//
// https://nano-ordinateur-info.fr/
//
// Initialise la LED présente sur la carte sur le ports GPIO 13 et le bouton sur le port GPIO 2
int buttonPin = 2;
int ledPin = 13;
void setup() {
pinMode(buttonPin, INPUT); // Défini le port GPIO 2 en entrée.
pinMode(ledPin, OUTPUT); // Défini le port GPIO 13 en sortie.
}
void loop() {
if (digitalRead(buttonPin) == HIGH) // : # Si le bouton est relaché (niveau logique HAUT)...
digitalWrite(ledPin, HIGH); //...on éteint la LED
else // autrement le bouton est appuyé (niveau logique BAS)...
digitalWrite(ledPin, LOW); // ...on allume la LED.
}
On peut utiliser également une résistance de pull-down pour atténuer les perturbations électriques en inversant la résistance et le bouton...
Lorsqu’ on appuie sur un bouton poussoir le courant ne passe pas immédiatement de la tension d'alimentation à 0 Volt, en l’espace de quelques millisecondes, le signal va osciller plusieurs fois avant de se stabiliser. Il se passe le même phénomène lorsque l’on relâche le bouton. Pour atténuer ce phénomène, nous allons placer un condensateur en parallèle avec le bouton. Ce composant absorbera les oscillations.
Ce montage ne permet pas toujours de détecter l'appui sur le bouton, si vous l'utiliser il faut utiliser la résistance pull-up interne et remplacer l'instruction:
pinMode(buttonPin, INPUT);
par
pinMode(buttonPin, INPUT_PULLUP);
ou utiliser une résistance pull-up externe comme dans les montages suivants.
On va placer en série avec le bouton une résistance de pull-up de 10 k Ω pour atténuer les perturbations électriques que peuvent créer les lampes, moteur, téléphone portable, etc...