🛠 Premier script Python : LED + bouton réunis

Raspberry Pi 3 Model B+ (2018) — Fiche carte · debutant · Schéma : IMG-model-3b-plus-debutant-3-model3bp-premier-script-python.svg — LED sur GPIO17 avec résistance et bouton sur GPIO27 reliés à la carte, éditeur de script à l'écran

Objectifs

Écrire, rendre exécutable et lancer un premier script Python 3 qui combine les deux tutoriels précédents : le bouton allume la LED. Vous découvrirez gpiozero (préinstallé sur Raspberry Pi OS), la numérotation BCM, la gestion propre de Ctrl-C et le rôle du shebang.

Matériel

Code complet

#!/usr/bin/env python3
"""Bouton -> LED sur carte 40 broches (logique 3,3 V, pin <= 16 mA).
   LED anode -> 330 ohm -> GPIO17 ; bouton -> GPIO27 -> GND."""
from gpiozero import LED, Button
from signal import signal, SIGINT, default_int_handler

led = LED(17)                      # numérotation BCM, comme pinout.xyz
button = Button(27, pull_up=True)  # pull-up interne, appui vers GND

button.when_pressed = led.on       # piloté par événement, pas de boucle active
button.when_released = led.off

signal(SIGINT, default_int_handler)  # Ctrl-C nettoie l'état des broches
while True:                          # gpiozero fait tourner ses threads
    pass
chmod +x bouton_led.py
./bouton_led.py        # Ctrl-C pour quitter

Vérification attendue

Tant que le script tourne, appuyer sur le bouton allume la LED, la relâcher l'éteint — quasi instantanément (callback événementiel). Après Ctrl-C, la LED s'éteint proprement car gpiozero libère les broches. python3 -c "import gpiozero; print(gpiozero.__version__)" confirme la présence de la bibliothèque.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels