micropythonでneopixel制御(micro:bit)
micropythonがわかってきたので、micro:bit の micropython でnexpixelのLEDを制御してみる。
micro:bit の micropython
Web(Chrome)のWeb USB機能を利用。
Web画面上のプログラミングして、USB経由で簡単にmicro:bitにプログラムを送り込める。
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)