0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

sphero boltで遊ぶAdvent Calendar 2024

Day 13

出力: LEDマトリクスのお絵描き

Last updated at Posted at 2024-12-12

背景

昨日のスクリプトは繰り返しの回数が見た目ではわかりませんでした。
Sphero boltのLEDマトリクスは点や線、矩形を描くことができます。
今回はドットを繰り返し回数を表示してみます。

Scratch

ループのブロックはコントロールのところにありました。

image.png

「12回くりかえして30度ずつ回転させる。
 回転する前にマトリクスLEDが1つずつドットを増やして表示する。
 ただし4つずつドットを表示したら改行する。」

image.png

回転角から表示するマトリクスのドットの位置を計算する式のところが分かりにくいかもしれません。

spheroV2

ループ変数をiとしてfor文にしました。

import time

from spherov2 import scanner
from spherov2.sphero_edu import EventType, SpheroEduAPI
from spherov2.types import Color

print("Testing Starting...")
print("Connecting to Bolt...")
toy = scanner.find_BOLT()

if toy is not None:
    print("Connected.")
    with SpheroEduAPI(toy) as droid:
        print("Testing Start...")
        
        droid.calibrate_compass()
        time.sleep(1)
        droid.set_main_led(Color(r=0,g=0,b=0))

        a = 0
        droid.set_compass_direction(a)
        time.sleep(1)
        print(a)

        for i in range(12):
            droid.set_matrix_pixel(int(i/4), int(i%4), Color(250, 250, 250))          
            droid.set_compass_direction(a + 30)
            time.sleep(1)
            a += 30  
            print(a)

        print("Testing End...")

実行結果はこちらのようになりました。

git\spherov2.py\spherov2\test>python BoltTest_compass4.py
Testing Starting...
Connecting to Bolt...
Connected.
Testing Start...
0
30
60
90
120
150
180
210
240
270
300
330
360
Testing End...

まとめ

LEDマトリクスにドットを描く作業を作成してみました。
ドットの表示と動きのタイミングに違和感を感じにくくする工夫はもっと頑張ってみたくなります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?