🛠 Variation d'intensité d'une LED avec le PWM matériel

Raspberry Pi 3 Model A+ (2018) — Fiche carte · intermediaire · Schéma : IMG-model-3a-plus-intermediaire-1-model3a-pwm-led.svg — Raspberry Pi 3 A+ : LED + 330 Ω sur GPIO18 (broche 12, PWM matériel), GND broche 14, oscillogramme du rapport cyclique

Objectifs

Faire varier l'intensité d'une LED avec la modulation de largeur d'impulsion (PWM) sur le Raspberry Pi 3 A+ : PWM matériel sur GPIO18 (broche 12, signal « PWM » du connecteur 40 broches) contre PWM logiciel gpiozero, rapport cyclique et fréquence.

Matériel

Code complet

#!/usr/bin/env python3
# pwm_led.py — respiration de LED (GPIO18 = PWM matériel)
from gpiozero import PWMLED
from time import sleep

led = PWMLED("GPIO18", pwm=True)   # GPIO18 = broche 12, PWM matériel
led.pwm_frequency = 100            # Hz ; défaut gpiozero : 100 Hz

# respiration : montée puis descente du rapport cyclique
for i in range(0, 101, 5):
    led.value = i / 100.0          # 0.0 = éteinte, 1.0 = pleine
    sleep(0.05)
for i in range(100, -1, -5):
    led.value = i / 100.0
    sleep(0.05)

# clignotement précis piloté par le contrôleur PWM matériel
led.blink(on_time=0.5, off_time=0.5, fade_in_time=0.2, fade_out_time=0.2)
sleep(5)
led.off
python3 pwm_led.py
# Vérifier le brochage PWM : le site de référence du connecteur 40 broches

Vérification attendue

La LED monte progressivement en luminosité sur ~1 s, redescend, puis clignote avec des fondus. Au multimètre sur GPIO18, la tension moyenne suit le rapport cyclique (≈1,65 V à 50 % sur la base 3,3 V).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels