背景
車輪を付け替えたのでSpheroを動かすことができるようになりました。
動作のブロックの一部を試してみます。
Scratch
「ゼロ度の方角に向かってスピード100で0.5秒間動かす」
図の左側に使っている一つのブロックの内容をそれぞれの値で分解して、図の右側のブロックのようにできるようです。
方向の指定の後のディレイは不要かもしれませんが、何となく気になるので入れました。
spheroV2
sphero_edu.pyのメソッドを参考に同様な動作をするスクリプトを作成しました。
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...")
print("go heading: 0, speed: 100, duration: 0.5s")
droid.roll(0, 100, 0.5)
# droid.set_heading(0)
# time.sleep(0.2)
# droid.set_speed(100)
# time.sleep(0.5)
# droid.stop_roll()
print("Testing End...")
実行結果はこちらのようになりました。
git\spherov2.py\spherov2\test>python BoltTest_motor1.py
Testing Starting...
Connecting to Bolt...
Connected.
Testing Start...
go heading: 0, speed: 100, duration: 0.5s
Testing End...
まとめ
spheroV2を用いて、sphero boltをpythonで動かすことができました。
キーボードやゲームパッドを使った入力とつなげると楽しめそうです。