micro:bitでPython [5x5LEDマトリクス]
micro:bitには5×5マトリクスのLEDが搭載されてて、これが簡易的な表示装置の役目になってて動作状況が把握できるようになってます。
動作中には何がしかの表示装置がないと状況がつかめず不安になったり、イライラしたりとあまりよくないです、Arduinoではシリアルモニタという機能でPC上に表示ができるようになってますが、このmicro:bitではこの5x5LEDである程度状況が把握でき、とても便利です。
ということでどんなコトが表示できるのかをサンプルプログラムを絡めて試してみました。
尚、公式サイトのチュートリアル・ページはここにありますので先に読んでからの方が良い気がします。
目 次
表示できる内容
基本的には5×5のマトリクスサイズで表示できるものに限定されます。
- 英数字&記号:a、b、c~、0~9、+、-、÷、x、など
- アイコンイメージ:ハートマーク、スマイルマークなどなど
表示方法
組み込みイメージ
display.show(Image.Happy) 関数を使います。
というようにImage.xxxxで組み込みイメージをダイレクトに表示させます。
このXXXXの文字で組み込みパターン名を指定します。以下に実際の組み込みパターンを示します。
Image.HEARTImage.HEART_SMALLImage.HAPPYImage.SMILEImage.SADImage.CONFUSEDImage.ANGRYImage.ASLEEPImage.SURPRISEDImage.SILLYImage.FABULOUSImage.MEHImage.YESImage.NOImage.CLOCK12,Image.CLOCK11,Image.CLOCK10,Image.CLOCK9,Image.CLOCK8,Image.CLOCK7,Image.CLOCK6,Image.CLOCK5,Image.CLOCK4,Image.CLOCK3,Image.CLOCK2,Image.CLOCK1Image.ARROW_N,Image.ARROW_NE,Image.ARROW_E,Image.ARROW_SE,Image.ARROW_S,Image.ARROW_SW,Image.ARROW_W,Image.ARROW_NWImage.TRIANGLEImage.TRIANGLE_LEFTImage.CHESSBOARDImage.DIAMONDImage.DIAMOND_SMALLImage.SQUAREImage.SQUARE_SMALLImage.RABBITImage.COWImage.MUSIC_CROTCHETImage.MUSIC_QUAVERImage.MUSIC_QUAVERSImage.PITCHFORKImage.XMASImage.PACMANImage.TARGETImage.TSHIRTImage.ROLLERSKATEImage.DUCKImage.HOUSEImage.TORTOISEImage.BUTTERFLYImage.STICKFIGUREImage.GHOSTImage.SWORDImage.GIRAFFEImage.SKULLImage.UMBRELLAImage.SNAKE
実際のプログラム例です、6個のイメージを切り替えて表示。
(前もってい言われないと判読困難なパターンもあります)
from microbit import *
while True:
display.show(Image.HEART)
sleep(2000)
display.show(Image.HAPPY)
sleep(2000)
display.show(Image.SMILE)
sleep(2000)
display.show(Image.SAD)
sleep(2000)
display.show(Image.CONFUSED)
sleep(2000)
display.show(Image.ANGRY)
sleep(2000)
自分でイメージパターンを作る
5×5のパターンを自分で作ります。
数値の意味は、0=消灯、1~9:点灯(数字が大きい方が明るい)
公式ページに掲載のサンプルプログラムです。
帆船イメージです。(マストが2本)
from microbit import *
boat = Image("05050:"
"05050:"
"05050:"
"99999:"
"09990")
display.show(boat)
何個かの関数が準備されてますが代表的なものは
set_pixel(x,y,value) 関数です、
x列(0~4)、y行(0~4)のピクセルの明るさをvalue(0~9)で指定。
その他にも便利な関数が用意されてます。ここを見てください。
サンプルプログラムです。
from microbit import *
while True:
for b in range(0, 10):
for x in range(0, 5):
for y in range(0, 5):
display.set_pixel(x, y, (x+y+b) % 10)
sleep(50)
実際に動作させた時の動画です。

![[micro:bit]OLED(有機EL)で表示を読みやすく [micro:bit]OLED(有機EL)で表示を読みやすく](https://umek.topaz.ne.jp/mameduino/wp-content/uploads/2019/07/DSCN3745_R-150x150.jpg)

