Comment câbler un bouton-poussoir ?

NIVEAU 1

Objectifs

  • Câbler un bouton-poussoir sur une entrée numérique

Pré-requis

Bouton-Poussoir

Une des premières façons de réaliser une interface homme-machine (ou IHM) est d’utiliser des LEDs pour l’affichage et des boutons-poussoirs pour les interactions avec l’être humain.

Nous allons voir ici comment câbler un bouton-poussoir.

Schéma de câblage d’un bouton-poussoir

Pour cela, nous allons utiliser le schéma suivant :

La résistance permet de protéger l’alimentation lors de l’appui sur le bouton-poussoir (afin d’éviter un court-circuit). On peut prendre une résistance de l’ordre de 10 kOhms.

Pour les cartes Nucléo, la tension \(V_{DD}\) vaut 3.3V. Il ne faut surtout pas dépasser cette valeur. La carte Nucléo possède des broches notées GND et 3V3 permettant de relier le 0V de la carte et une source de tension continue de 3.3V.

Configuration et utilisation dans un programme

Le bouton-poussoir est ensuite lié à une entrée numérique. Il faut donc configurer la broche sur laquelle est relié le bouton-poussoir comme entrée numérique.

#include "mbed.h"
DigitalIn  mon_bouton(D7);

On peut ensuite l’utiliser comme une entrée numérique (cas du câblage fourni précédemment) :

int a = mon_bouton.read();

if(a == 1){
    // ACTIONS A FAIRE SI LE BOUTON POUSSOIR EST ENFONCE
}
else{
    // ACTIONS A FAIRE SI LE BOUTON POUSSOIR EST RELACHE
}

Ou plus simplement, le code suivant :

if(mon_bouton == 1){
    // ACTIONS A FAIRE SI LE BOUTON POUSSOIR EST ENFONCE
}
else{
    // ACTIONS A FAIRE SI LE BOUTON POUSSOIR EST RELACHE
}

Détection d’un front

Le code suivant permet de détecter un front montant sur une entrée numérique.

#include "mbed.h"

DigitalIn my_bp(BUTTON1);
DigitalOut my_led(LED1);

int main(){
    int old_bp, new_bp;
    while(1){
        new_bp = my_bp;
        if((old_bp != new_bp) && (new_bp == 1)){    // front montant
            my_led = !my_led;
        }
        old_bp = new_bp;
    }
}

MInE Prototyper Prototyper avec Nucleo et MBED

Nucleo – Cabler un bouton-poussoir