Dans ce cours on va voir comment lire la valeur d’un bouton poussoir avec la Raspberry Pi. Ceci peut être très utile pour avoir des interactions avec l’utilisateur.

Voici le schéma pour relier le bouton poussoir à la Raspberry Pi :

Nous avons ajouté une résistance de pull down afin que quand le bouton poussoir n’est pas appuyé la carte lit bien un état bas et qu’il n’y ait pas d’état non définis. Nous avons écrit un cours sur le bouton poussoir pour plus d’informations.

Programmation

Voici le programme pour lire les valeurs venant du bouton poussoir :

import RPi.GPIO as GPIO
import time

# Configuration des broches
bouton_pin = 17

# Configuration initiale de la GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setup(bouton_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

try:
    print("Attendez que le bouton soit pressé...")

    while True:
        if GPIO.input(bouton_pin) == GPIO.LOW:
            print("Bouton pressé!")
            time.sleep(0.2)  # Débouncing, attendez un court instant pour éviter les rebonds du bouton
            while GPIO.input(bouton_pin) == GPIO.LOW:
                time.sleep(0.1)  # Attendez que le bouton soit relâché
        time.sleep(0.1)

except KeyboardInterrupt:
    pass

finally:
    # Nettoyer les ressources GPIO
    GPIO.cleanup()

On peut voir en lançant le programme que quand on appuie sur le bouton poussoir on voit le message appuyé :