これまで、Microsoft MakeCode for micro:bit ではよく扱っていたフルカラーLEDテープ(NooPixel)を、以下の micro:bit Python Editor で少し試してみたので、そのメモを記事で残しました。
●micro:bit Python Editor
https://python.microbit.org/v/3
試した内容
今回、シンプルに 2つの内容を試しました。
ハードウェアの構成
ハードウェアの構成について、「micro:bit(V2.x)」と、以下の赤・緑矢印で示した拡張ボード・Grove接続のフルカラーLEDテープを組み合わせています。
拡張ボード・Grove接続のフルカラーLEDテープの具体的な情報は、以下のとおりです。
●Grove Shield for micro:bit v2.0 - Seeed Studio
https://www.seeedstudio.com/Grove-Shield-for-micro-bit-v2-0.html
●Grove - WS2813 RGB LED Strip Waterproof - 30 LED/m - 1m - Seeed Studio
https://www.seeedstudio.com/Grove-WS2813-RGB-LED-Strip-Waterproof-30-LED-m-1m.html
ちなみに、今回用いたフルカラーLEDテープの LED の数は 30個(テープの長さは 1m)ですが、長さは同じで LED の個数が 60個のものもあります。
●Grove - WS2813 RGB LED Strip Waterproof - 60 LED/m - 1m - Seeed Studio
https://www.seeedstudio.com/Grove-WS2813-RGB-LED-Strip-Waterproof-60-LED-m-1m.html
デバイスの接続
拡張ボードとフルカラーLEDテープの接続は、以下の赤枠で囲った「P0/P14」のところを使い Grove で接続しています。
フルカラーLEDテープのいくつかを点灯させる
試したことの 1つ目は「フルカラーLEDテープのいくつかを点灯させる」という内容です。
コード
コードは以下のとおりです。
from microbit import *
import neopixel
np = neopixel.NeoPixel(pin0, 15)
np.fill((0,0,63))
np.show()
このコードは、micro:bit Python Editor のリファレンスのコードを、少しだけ書きかえたものです。
上記リファレンスは「すべての NeoPixel を点灯する」と書かれていますが、真ん中あたりに書かれている np = neopixel.NeoPixel(pin0, 8) で指定した個数(ここでは 8個)を対象に全点灯というものです。
自分が今回用いたフルカラーLEDテープは 30個の LED がついており、 np = neopixel.NeoPixel(pin0, 15) とすることで、半分の 15個を点灯させるものにしています。
LEDテープが点灯した時の様子は、以下のとおりです。
フルカラーLEDテープを 1つずつ点灯させる
以下は、フルカラーLEDテープを 1つずつ点灯させてみた際のコードです。
from microbit import *
import neopixel
np = neopixel.NeoPixel(pin0, 30)
for pixel_id in range(len(np)):
np[pixel_id] = (127, 0, 127)
np.show()
sleep(200)
こちらも元にしたリファレンスのコードがあります。
上記のコードをもとにしつつ、「利用する LED の個数」と「順番に LED が点灯していく時の時間間隔」は少し変えました。
上記のコードを実行した時の様子は、以下のとおりです。
意図通りに動作していることを確認できました。






