#152Новичок

Полицейская мигалка на Pico с тройными вспышками (2 светодиода)

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

0.0(0)
15 собрано
Полицейская мигалка на Pico с тройными вспышками (2 светодиода)
Перенеси знакомую полицейскую мигалку прямо на свой стол. Красный светодиод трижды быстро вспыхивает, затем трижды вспыхивает синий, и ритм не прекращается. Ты увидишь, как те же два светодиода показывают совсем другое световое шоу, если просто изменить ритм.

Видео

Схема

Полицейская мигалка на Pico с тройными вспышками (2 светодиода) - Circuit

Исходный код

MicroPython
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 раз в секунду: у некоторых людей это может вызвать дискомфорт.

Можно ли добавить больше светодиодов?

Да, можно подключить по несколько светодиодов каждого цвета к отдельным пинам и включать их вместе в той же функции серии вспышек.