Gestion d’un bouton poussoir – Arduino

Nous allons utiliser un bouton poussoir afin de faire varier la tension en entrée d’une interface.

Lorsqu’une broche numérique d’Entrée/Sortie de l’Arduino n’est connectée à rien la tension en entrée est instable… on pourra ainsi lire des valeurs de tensions différentes sur cette broche. Le problème, c’est que cette broche n’a pas de connexion matérielle au +5V ou à la masse, et elle oscillera de façon aléatoire entre le niveau HAUT et le niveau BAS.

C’est pour cette raison qu’il faut mettre une résistance de « PULL-UP » dans le montage du bouton poussoir sur la broche numérique en entrée.

La carte Arduino propose par défaut un mode qui permet d’activer une résistance de 20 KΩ qui est dans la carte pour en faire une résistance pull-up. Il faut ainsi lui indiquer lors de la configuration de la broche que l’entrée est en INPUT_PULLUP :

pinMode(2,INPUT_PULLUP)

Cette résistance de pull-up maintiendra la broche au niveau HAUT si le bouton poussoir est ouvert. La broche sera lue au niveau BAS lorsque le BP sera appuyé.

Pour ce code, si le bouton poussoir est pressé, on indique le texte « Bouton 1 – ON » sur la liaison série.

Code :

int bp1 = 2;

void setup()
{
// Bouton poussoir 1
pinMode(bp1, INPUT_PULLUP);
Serial.begin(9600);
}

void loop()
{
// Récuperer valeur de bp1
int b1 = digitalRead(bp1);


Serial.print("Bouton 1 : "); Serial.println(b1);

// Si Appuie BP1
if (b1 == LOW) {
Serial.println("Bouton 1 - ON");
delay(100);
}

}
Bouton poussoir - Arduino

Un commentaire

Rejoignez la conversation

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.