PICOで複数のフルカラーLEDを制御 その3 列ごとに点灯

複数のフルカラーLED(マイコン内蔵RGBLED 8mm PL9823-F8)が一体化したモジュールをPICOで光らせます。

複数のフルカラーLED(マイコン内蔵RGBLED 8mm PL9823-F8)モジュールをPICOで一列ごとに光らせます。

フルカラーLED(マイコン内蔵RGBLED 8mm PL9823-F8)マトリックスモジュール

16LED WS2812B 5V PCB モジュール シリアルLED アドレッサブル ARGB

配線図

1 GND  38:GND
2 IN       1:GPIO 0 
3 VCC  40:VBUS
4 一番右のGNDはつながない
(別電源からつなぐときにつなぐ)
下のOUTピンから次のLEDのINへ接続

5Vの電源を使うので慎重に配線します。
間違えるとLEDが割れることがあります。

MicroPythonプログラム

import neopixel
import time
from machine import Pin

# LEDの設定
NUM_LEDS =  16  # LEDの数
PIN = 0        # データピン

# NeoPixelオブジェクトの作成
np = neopixel.NeoPixel(Pin(PIN), NUM_LEDS)

# 4つのLEDを一度に点灯させる関数
def light_up_column(start_index):
    for i in range(start_index, start_index + 4):
        np[i] = (25, 25, 25)
    np.write()

# 各列ごとに点灯し、その後消す関数
def cycle_columns():
    for i in range(0, NUM_LEDS, 4):
        # 4つのLEDを一度に点灯させる
        light_up_column(i)
        time.sleep(1)

        # 点灯したLEDを消す
        for j in range(i, i + 4):
            np[j] = (0, 0, 0)
        np.write()

# メインループ
while True:
    cycle_columns()

 

# 4つのLEDを一度に点灯させる関数
def light_up_column(start_index):
for i in range(start_index, start_index + 4):
np[i] = (25, 25, 25)
np.write()

# 各列ごとに点灯し、その後消す関数
def cycle_columns():
for i in range(0, NUM_LEDS, 4):
# 4つのLEDを一度に点灯させる
light_up_column(i)
time.sleep(1)
# 点灯したLEDを消す
for j in range(i, i + 4):
np[j] = (0, 0, 0)
np.write()

自由研究

テンテン
テンテン

二つのモジュールをつないで点灯できます。
つなげて順に点灯させることもできます。
いろいろな色で試してみましょう。
そのほかにChatGPTを使っていろいろな光らせ方に挑戦してください。