LEDを点灯する

画面表示を知る

micro:bitには5x5格子のLEDライトからなる画面があります。 そこに数字や文字を表示でき、micro:bitには利用可能ないくつか組み込みの絵もあります。

LED上にパターン表示するmicro:bit

Pythonエディターを使ってBBC mircro:bitをプログラムできます。 エディターに次のコードが含まれていることを確認します。


from microbit import *

while True:
    display.scroll('Hello, World!')
    display.show(Image.HEART)
    sleep(2000)

「Hello World」のメッセージを変更し、ハートの画像を変更してから、micro:bitに書き込みます。 HEARTHAPPYSADCONFUSEDPACMANGHOSTDUCKに変更します。

Pythonガイドにすべての画像の一覧があります。 Abbieが11歳の時にデザインしたものです!

自分で絵を作ることもできます。 それぞれの数字はLEDライトの1つを表します。 数字が大きくなれば、よりLEDが明るくなります。 0だと消灯、9が最も明るくなります。 このプログラムは絵を表示します。 micro:bitに書き込んでそれがどうなるか見てください。あるいは、コードを見てどうなるかわかりますか?


from microbit import *

mystery = Image('00300:'
                '03630:'
                '36963:'
                '03630:'
                '00300')

display.show(mystery)

ピクセルで描く

PythonでLED画面の個別の「ピクセル」を点灯させることができます。 LEDはx, y座標を使って番号付けされています。 左上の角が0, 0で、右下の角が4, 4になります。

0, 0 1, 0 2, 0 3, 0 4, 0

0, 1 1, 1 2, 1 3, 1 4, 1

0, 2 1, 2 2, 2 3, 2 4, 2

0, 3 1, 3 2, 3 3, 3 4, 3

0, 4 1, 4 2, 4 3, 4 4, 4

また、0から9の数字を使って各LEDライトをどのくらい明るく点灯させたいかmicro:bitに指示する必要があります。 このプログラムは、各角に明るい点(9)を置き、3秒待ってから画面を消去します。


from microbit import *
import random

display.set_pixel(0,0,9)
display.set_pixel(0,4,9)
display.set_pixel(4,0,9)
display.set_pixel(4,4,9)
sleep(3000)
display.clear()

チャレンジ

このプログラムを変更して、display.set_pixel()コマンドだけを使って画面に「X」を描きなさい。

LED上にパターン表示するmicro:bit

何をする?

micro:bitで実行する前に、次のプログラムは何をするかわかりますか? なぜ数字の4でなく5を使うのでしょう?


from microbit import *
import random

for x in range(5):
    for y in range(5):
        display.set_pixel(x,y,9)
        sleep(100)

チャレンジ

このプログラムは乱数を使います。 micro:bitに書き込む前に何をするかわかりますか?


from microbit import *
import random

delay = 100
brightness = [ 
    [0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0],
]
while True:
    brightness[random.randrange(5)][random.randrange(5)] = 9
    for x in range(5):
        for y in range(5):
            display.set_pixel(x, y, brightness[x][y])
            brightness[x][y] = max(brightness[x][y] - 1, 0)
    sleep(delay)

micro:bit画面の使用方法についてより詳しくは、Pythonガイドを読んでください。

Selecting this opens external content from our support system, which adheres to their privacy policy.