🛠 Premier script Python : faire clignoter la LED
Objectifs
Écrire et exécuter ton premier script Python 3 sur le Raspberry Pi 2 : une boucle qui fait clignoter une LED, avec compteur et arrêt propre. Tu apprendras à créer un fichier, le rendre exécutable, gérer Ctrl+C, et utiliser la bibliothèque gpiozero, la plus simple pour débuter.
Matériel
- Raspberry Pi 2 Model B sous Raspberry Pi OS 32 bits
- LED + résistance 330 Ω sur GPIO17 (comme au tuto LED)
- Paquet : sudo apt install python3-gpiozero
Code complet
#!/usr/bin/env python3
"""blink.py — fait clignoter une LED sur GPIO17 avec gpiozero."""
from gpiozero import LED
from time import sleep
led = LED(17) # broche BCM17 du connecteur J8
def on:
print("LED allumee")
def off:
print("LED eteinte")
led.when_on = on
led.when_off = off
try:
for i in range(10):
print(f"Cycle {i + 1}/10")
led.on
sleep(0.5)
led.off
sleep(0.5)
print("Termine")
except KeyboardInterrupt:
led.close
print("Arrete proprement")
Vérification attendue
La LED clignote une seconde par cycle (0,5 s allumée, 0,5 s éteinte) pendant 10 cycles, et le terminal affiche chaque cycle. Ctrl+C affiche « Arrêté proprement » et éteint la LED. Le Pi 2 étant quad-core (4× Cortex-A7 à 900 MHz), le script reste très léger : un seul cœur suffit largement.
Erreurs fréquentes
- Module gpiozero introuvable : installer python3-gpiozero, et pas l'ancien paquet Python 2.
- Permission denied sur le GPIO : sur les noyaux récents, ajoute ton utilisateur au groupe gpio ou lance avec sudo.
- Numéro de broche erroné : gpiozero utilise la numérotation BCM ; la broche physique 11 correspond à GPIO17.
- La LED reste allumée après Ctrl+C : il faut bien appeler led.close pour libérer la broche.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython