6 - Bouton poussoir BP
- L C
- 29 oct. 2024
- 2 min de lecture
Dernière mise à jour : 28 nov. 2024
Un bouton, c'est quoi ?

Mécanique du bouton
Un bouton est un fil qui est connecté ou non selon sa position.
Bouton poussoir (BP) normalement ouvert (NO)
Relâché : le courant ne passe pas, le circuit est dit ouvert.
Appuyé : le courant passe, le circuit est dit fermé.
Bouton poussoir (BP) normalement fermé (NF)
Relâché : le courant passe, le circuit est dit fermé.
Appuyé : le courant ne passe pas, le circuit est dit ouvert.
Un interrupteur c'est quoi ?
Il agit comme une bascule : un appui ferme le circuit, un second appui l’ouvre.
Il possède 2 états stables (ouvert ou fermé) : il est bistable.
L’électronique du bouton
Symbole

Tension et courant
Quand le BP est ouvert, la tension à ses bornes est non nulle.
Quand le BP est fermé, la tension est 0V.
Un BP a généralement 4 patttes, les broches sont reliées 2 à 2.

A et D sont connectées ensemble et B et C aussi.
Presser le bouton permet au courant de lier électriquement A-D avec B-C.
Avec un multimètre on détermine quelles broches sont distinctes.
On utilise en général 2 broches qui sont opposées sur la diagonale du bouton.

Gérer les imperfections du bouton
Un bouton n'est pas un système mécanique parfait.
Lorsqu’on appuie dessus, pendant quelques millisecondes, le signal va sauter entre 5V et 0V plusieurs fois avant de se stabiliser.
Le même phénomène se produit quand on relâche le bouton.
Pour éviter ces problèmes on utilise une résistance.
Résistance Pull-up
Elle"tire" le niveau électrique vers le haut, elle est donc reliée à la tension de votre montage (au +5V ou +3V3 ).
Avec une résistance pull-up, par défaut, l'entrée sur la broche est égale à 1.
Résistance Pull-down
Ou résistance de tirage à la masse.
Elle "tire" le niveau électrique vers le bas, elle est donc reliée à la masse (GND) de votre carte.
Avec une résistance pull-down, par défaut, l'entrée sur la broche est égale à 0.
Pull-up interne
L'Arduino possède une résistance de pull-up interne pour chaque broche numérique.
Elle s'active dans le Setup du code avec la fonction INPUT_PULLUP
void setup() {
pinMode(brocheBouton, INPUT_PULLUP);
......
}
Gérer les rebonds
Pour l'anti rebond, on utilise un condensateur en céramique de 10 kohms et 100 nF.

Le principe de l'antirebond matériel est le suivant :
A la première fermeture, le condensateur est entièrement déchargé. Quand il y a une ouverture du contact par rebond, le condensateur va se recharger, mais lentement au travers de la résistance série.
A la fin du rebond, le contact se rétabli et le condensateur sera instantanément déchargé.
Les rebonds étant de plus en plus court et espacés, si les valeurs sont bien choisies, la tension aux bornes du condensateur n'atteindra jamais le niveau correspondant au niveau d'un 1 logique et le micro verra toujours un état bas.
Montage
