Raspberry Pi Pico Effet Gyrophare Police (Rouge + Bleu Stroboscope, GP11 + GP12)
Nous simulons la rampe lumineuse d'une voiture de police avec un Raspberry Pi Pico, dans sa version la plus simple ! 🚨 Les LED rouge et bleue s'allument à tour de rôle (flip-flop) : quand la rouge est allumée, la bleue est éteinte, et elles s'échangent toutes les 0,3 seconde, sans fin. Le code écrit les deux étapes directement dans une seule boucle `while True` ; la vitesse se règle avec la constante `WAIT_MS`.

Schéma du circuit

Code source
1# ─────────────────────────────────────────
2# BlueGrays · bluegrays.com
3# Raspberry Pi Pico Effet Gyrophare Police (Rouge + Bleu Stroboscope, GP11 + GP12)
4# ─────────────────────────────────────────
5# Deux LED alternent (bascule) : la rouge est allumée pendant que la bleue
6# est éteinte, et elles échangent toutes les 0.3 s. La vitesse se règle
7# avec WAIT_MS.
8#
9# Broches :
10# GP11 -> LED rouge (avec une résistance de 220 ohm)
11# GP12 -> LED bleue (avec une résistance de 220 ohm)
12# LED katotlari -> Cathodes des LED -> GND
13
14from machine import Pin
15from time import sleep_ms
16
17# ============ PIN / PIN ============
18red_led = Pin(11, Pin.OUT) # LED rouge
19blue_led = Pin(12, Pin.OUT) # LED bleue
20
21WAIT_MS = 300 # Délai de commutation (ms)
22
23print("== BlueGrays · bluegrays.com ==")
24print("Polis Cakar Basit / Simple Police Alternating")
25print("Kirmizi: GP11 | Mavi: GP12")
26
27# ============ BOUCLE PRINCIPALE ============
28while True:
29 # Rouge allumé, bleu éteint
30 red_led.value(1)
31 blue_led.value(0)
32 print("[FLIP] KIRMIZI / RED")
33 sleep_ms(WAIT_MS)
34
35 # Bleu allumé, rouge éteint
36 red_led.value(0)
37 blue_led.value(1)
38 print("[FLIP] MAVI / BLUE")
39 sleep_ms(WAIT_MS)
40FAQ
À quoi sert WAIT_MS ?▾
C'est l'attente entre les deux couleurs, en millisecondes. Par défaut 300 ms ; 100 ms donne un gyrophare plus rapide et nerveux, 600 ms un plus calme. Il suffit de changer la valeur et de relancer le code.
Quelle est la différence entre sleep_ms() et sleep() ?▾
sleep() reçoit la durée en secondes, tandis que sleep_ms() reçoit un nombre entier de millisecondes. Dans ce projet, sleep_ms(300) exprime clairement la durée ; sleep(0.3) demande la même attente nominale.
La LED bleue semble moins lumineuse que la rouge, pourquoi ?▾
La tension directe de la LED bleue (environ 3 V) est très proche de la tension de sortie de 3,3 V du Pico ; avec la même résistance, le courant qui passe est plus faible. Tu peux utiliser une résistance plus faible, par exemple 100 Ω, pour la LED bleue.
Puis-je créer un effet « ambulance » ou « pompiers » ?▾
Oui, tu peux créer les motifs lumineux de différents véhicules d'urgence en modifiant le nombre de clignotements, la durée et les couleurs.
