2022年5月17日火曜日

Maker Pi RP2040とCircuitPythonで、Groveボタンを接続してRGB LEDを制御する

Maker Pi RP2040には7つのGroveコネクタがあり、様々なGroveデバイスを接続することが出来ます。Maker Pi RP2040とCircuitPythonで、Groveボタンを接続してRGB LEDを制御するには、以下の手順を実行します。

〇Maker Pi RP2040と接続したGroveボタン

実行手順

1. Maker Pi RP2040をパソコンにUSBで接続して、Mu Editorを起動します。

2. code.pyを開いて、以下のプログラムを書き込みます。
neopixel_writeモジュールでRGB LEDの制御を行うことが出来ます。ピンはGP18を使用します。
バッファは[G1, R1, B1, G2, R2, B2]というように形式で指定することで2つのLEDを別個に制御出来ます。
※circuit python 7.2.5にアップグレードしてから実行してください。
※Mu Editorを使用せず、code.pyを直接エクスプローラーなどから保存する事も出来ます。
import board
import neopixel_write
import digitalio
import time

# RGB LEDを初期化
dio18 = digitalio.DigitalInOut(board.GP18)
dio18.direction = digitalio.Direction.OUTPUT

# Grove1コネクタに接続したボタンの初期化
# Groveボタンの場合 : 各Groveコネクタに対応するピンは以下です
# Grove1 -> GP1
# Grove2 -> GP3
# Grove3 -> GP5
# Grove4 -> GP17
# Grove5 -> GP26
# Grove6 -> GP27
# Grove7 -> GP28
dio1 = digitalio.DigitalInOut(board.GP1)
dio1.direction = digitalio.Direction.INPUT

while True:
    if dio1.value == True:
        # GP1のボタンを押している間は2つのRGBLEDを赤と黄色で点灯
        pixel_buf = bytearray([0, 128, 0, 128, 128, 0])
        neopixel_write.neopixel_write(dio18, pixel_buf)
    else:
        # ボタンを押していない間は消灯
        pixel_buf = bytearray([0, 0, 0, 0, 0, 0])
        neopixel_write.neopixel_write(dio18, pixel_buf)
    time.sleep(0.1)

関連情報

・Maker Pi RP2040に関する他の情報はこちらを参照してください。

・Mu Editorに関する他の情報はこちらを参照してください。

0 件のコメント:

コメントを投稿