micropythonでneopixel制御(micro:bit)

最終更新日

micropythonがわかってきたので、micro:bit の micropython でnexpixelのLEDを制御してみる。

micro:bit の micropython

Web(Chrome)のWeb USB機能を利用。
Web画面上のプログラミングして、USB経由で簡単にmicro:bitにプログラムを送り込める。

micro:bit で python が使えるようになった

2019.12.15

neopixel

micro:bit 用の mycropython ライブラリに nexopixel というLEDの制御ドライバがあったので、試してみる。

配線

neopixelに必要な配線は最低3本。

  • 電源 VDD (3.3v-5.0v)
  • GND
  • DATA(DIN)

最低というのは、LEDが必要とする電流が、LEDの同時点灯8個までと制限されているから。
8個以上同時点灯したい場合には、VDDに別の電源(電池など)を接続する。

9種類のLEDを順番に点灯・消灯するプログラムはこんな感じ。

from microbit import *
import neopixel
from random import randint

np = neopixel.NeoPixel(pin0, 9)

black_id = 0
while True:

    for pixel_id in range(0, len(np)):
        red = randint(0, 60)
        green = randint(0, 60)
        blue = randint(0, 60)

        if black_id != pixel_id:
            np[pixel_id] = (0, 0, 0)
        else:
            np[pixel_id] = (red, green, blue)

    black_id += 1
    if black_id >= len(np):
        black_id = 0
    np.show()
    sleep(300)

動いているところ

My Movie - SD 480p

シェアする