bouton-gpio.py

Raspberry Pi Compute Module 3+ (CM3+ / CM3+ Lite) · Fichier : bouton-gpio.py · Langage : Python · Usage : Réagir à l'appui sur un bouton poussoir

Un bouton sur le connecteur GPIO déclenche une action à l'appui et au relâchement. gpiozero fournit les callbacks when_pressed/when_released avec anti-rebond intégré et le pause() événementiel.

Matériel requis

Un Compute Module 3+ (BCM2837B0, 1 GB LPDDR4) sur Compute Module IO Board v3, alimentée en 5 V, sous Raspberry Pi OS (Bullseye). 1 bouton poussoir (une patte sur la broche GPIO, l'autre sur GND).

Branchement

Bouton entre la broche physique 7 (GPIO4) et GND ; la résistance de tirage est interne (pull_up=True).

Fonctionnement

Le niveau de la broche est surveillé ; un front valide (stabilisé 30 ms) appelle l'action. gpiozero délègue le tout à des callbacks asynchrones. Sous Bullseye : sudo apt install python3-gpiozero puis python3 votre_script.py. Le CM3+ se comporte comme un Pi 3 B+ ; les broches de l'IO Board suivent la numérotation BCM.

Pour aller plus loin

Compteur d'appuis, double-clic (mesure d'intervalle), ou déclenchement d'un script shell via subprocess.

bouton-gpio.py

#!/usr/bin/env python3
# Bouton poussoir avec gpiozero : reaction sur appui et relachement.
from gpiozero import Button, LED
from signal import pause

bouton = Button(4, pull_up=True, bounce_time=0.05)  # GPIO4, broche 7
led = LED(17)

def sur_appui():
    print("Appui !")
    led.on()

def sur_relachement():
    print("Relache.")
    led.off()

bouton.when_pressed = sur_appui
bouton.when_released = sur_relachement

print("Pret : Ctrl-C pour quitter")
pause()   # laisse tourner les callbacks en tache de fond

← Retour à la fiche