#152Pemula

Flip-Flop Polisi 3 Kedipan Raspberry Pi Pico (2 LED)

Variasi berirama dari proyek strobo polisi: flip-flop 3 kedipan! Rangkaian 2 LED yang sama (GP11 merah + GP12 biru), tetapi polanya berbeda: LED merah berkedip cepat 3 kali, lalu biru berkedip 3 kali, selamanya. Pola "kedipan beruntun + ganti" ini adalah ritme lampu sirene polisi sungguhan yang paling mudah dikenali. Pelajari fungsi berparameter def burst(led, count, duration_ms), desain ritme, dan cara menghasilkan efek visual berbeda dengan kode di rangkaian yang sama.

0.0(0)
15 selesai
Flip-Flop Polisi 3 Kedipan Raspberry Pi Pico (2 LED)
Bawa kedipan mobil polisi yang familier itu langsung ke mejamu. LED merah berkedip tiga kali beruntun dengan cepat, lalu LED biru berkedip tiga kali, dan ritmenya terus berlanjut tanpa henti. Kamu akan melihat bagaimana dua LED yang sama bisa menampilkan pertunjukan cahaya yang sama sekali berbeda hanya dengan mengubah ritmenya.

Video

Skema rangkaian

Flip-Flop Polisi 3 Kedipan Raspberry Pi Pico (2 LED) - Circuit

Kode sumber

MicroPython
1# ─────────────────────────────────────────
2#   BlueGrays · bluegrays.com
3#   Flip-Flop Polisi 3 Kedipan Raspberry Pi Pico (2 LED)
4# ─────────────────────────────────────────
5# Pola 3 kedipan dengan dua LED: merah berkedip cepat 3 kali, lalu biru 3
6# kali, dan begitu seterusnya. Rangkaian sama dengan #151, ritme berbeda.
7# Dengan BURST_COUNT, FLASH_MS, dan GAP_MS kamu bisa mencoba pola lain
8# seperti ambulans atau mobil pemadam kebakaran.
9#
10# Pin:
11#   GP11 -> LED merah (dengan resistor 220 ohm)
12#   GP12 -> LED biru (dengan resistor 220 ohm)
13#   Katoda LED -> GND
14
15from machine import Pin
16from time import sleep_ms
17
18# ============ PIN / PIN ============
19red_led  = Pin(11, Pin.OUT)      # LED merah
20blue_led = Pin(12, Pin.OUT)      # LED biru
21
22# ============ PENGATURAN ============
23BURST_COUNT = 3     # Kedipan per warna
24FLASH_MS    = 60    # Durasi satu kedipan (ms)
25GAP_MS      = 200   # Jeda antar warna (ms)
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# ============ LOOP UTAMA ============
43while True:
44    # Merah berkedip 3 kali
45    burst(red_led, BURST_COUNT, FLASH_MS)
46    print("[BURST] KIRMIZI 3x / RED 3x")
47    sleep_ms(GAP_MS)
48
49    # Biru berkedip 3 kali
50    burst(blue_led, BURST_COUNT, FLASH_MS)
51    print("[BURST] MAVI 3x / BLUE 3x")
52    sleep_ms(GAP_MS)
53

FAQ

Apa beda proyek ini dengan yang sebelumnya?

Rangkaiannya persis sama; hanya kodenya yang berbeda. Setiap warna berkedip cepat tiga kali sebelum berganti ke warna berikutnya. Ini menunjukkan bagaimana perubahan kecil di kode bisa menciptakan efek yang sama sekali berbeda dengan perangkat keras yang sama.

Untuk apa BURST_COUNT dan FLASH_MS dipakai?

BURST_COUNT menentukan jumlah kedipan satu warna, FLASH_MS menentukan durasi setiap kedipan, dan GAP_MS menentukan jeda antarpergantian warna. Dengan tiga nilai ini, kamu bisa membuat mode berbeda, seperti polisi, ambulans, atau strobo.

Efeknya terlalu cepat dan melelahkan mata. Apa yang harus aku lakukan?

Naikkan nilai FLASH_MS menjadi 80–120 ms. Berhati-hatilah ketika menatap lampu yang berkedip lebih dari 3 kali per detik dalam waktu lama, karena bisa membuat sebagian orang merasa tidak nyaman.

Bisakah aku menambahkan lebih banyak LED?

Ya, kamu bisa menyambungkan beberapa LED untuk setiap warna ke pin terpisah dan menyalakannya bersama di dalam fungsi burst yang sama.