Полицейская мигалка на Pico с тройными вспышками (2 светодиода)
Ритмичная вариация проекта полицейского стробоскопа — мигалка с тройными вспышками! Та же схема на 2 светодиодах (GP11 красный + GP12 синий), но другой узор: красный светодиод трижды быстро вспыхивает, затем трижды вспыхивает синий, и так бесконечно. Этот узор «серия + смена» — самый узнаваемый ритм настоящих полицейских мигалок. Изучи функцию с параметрами def burst(led, count, duration_ms), проектирование ритма и разные визуальные эффекты кодом на одной схеме.

Видео
Схема

Исходный код
1# ─────────────────────────────────────────
2# BlueGrays · bluegrays.com
3# Полицейская мигалка на Pico с тройными вспышками (2 светодиода)
4# ─────────────────────────────────────────
5# Узор из 3 вспышек на двух светодиодах: красный быстро мигает 3 раза,
6# затем синий 3 раза, и снова. Та же схема, что #151, другой ритм. С
7# BURST_COUNT, FLASH_MS и GAP_MS можно попробовать другие узоры, например
8# скорой помощи или пожарной машины.
9#
10# Пины:
11# GP11 -> Красный светодиод (с резистором 220 ohm)
12# GP12 -> Синий светодиод (с резистором 220 ohm)
13# Катоды светодиодов -> GND
14
15from machine import Pin
16from time import sleep_ms
17
18# ============ ПИНЫ ============
19red_led = Pin(11, Pin.OUT) # Красный светодиод
20blue_led = Pin(12, Pin.OUT) # Синий светодиод
21
22# ============ НАСТРОЙКИ ============
23BURST_COUNT = 3 # Вспышек на цвет
24FLASH_MS = 60 # Длительность одной вспышки (мс)
25GAP_MS = 200 # Пауза между цветами (мс)
26
27def burst(led, count, duration_ms):
28 """
29 TR: LED'i 'count' kez hizli yakip sondurur
30 EN: Flash LED 'count' times rapidly
31 """
32 for _ in range(count):
33 led.value(1)
34 sleep_ms(duration_ms)
35 led.value(0)
36 sleep_ms(duration_ms)
37
38print("== BlueGrays · bluegrays.com ==")
39print("3'lu Polis Cakar / 3-Burst Police Flip-Flop")
40print("Kirmizi: GP11 | Mavi: GP12 | 3 flash burst per color")
41
42# ============ ГЛАВНЫЙ ЦИКЛ ============
43while True:
44 # Красный мигает 3 раза
45 burst(red_led, BURST_COUNT, FLASH_MS)
46 print("[BURST] KIRMIZI 3x / RED 3x")
47 sleep_ms(GAP_MS)
48
49 # Синий мигает 3 раза
50 burst(blue_led, BURST_COUNT, FLASH_MS)
51 print("[BURST] MAVI 3x / BLUE 3x")
52 sleep_ms(GAP_MS)
53
Частые вопросы
Чем этот проект отличается от предыдущего?
Схема точно та же, отличается только код. Каждый цвет трижды быстро вспыхивает, прежде чем перейти к следующему цвету. Это показывает, как небольшие изменения в коде дают совсем другой эффект на том же железе.
Для чего нужны BURST_COUNT и FLASH_MS?
BURST_COUNT задаёт число вспышек одного цвета, FLASH_MS — длительность каждой вспышки, а GAP_MS — паузу между сменой цветов. Этими тремя значениями можно сделать разные режимы: полиция, скорая помощь или стробоскоп.
Эффект слишком быстрый и утомляет глаза — что делать?
Увеличь значение FLASH_MS до 80–120 ms. Осторожнее с долгим просмотром огней, мигающих чаще 3 раз в секунду: у некоторых людей это может вызвать дискомфорт.
Можно ли добавить больше светодиодов?
Да, можно подключить по несколько светодиодов каждого цвета к отдельным пинам и включать их вместе в той же функции серии вспышек.
