背景
12/9と同様に、動作のブロックの一部を試してみます。
Scratch
左右のタイヤを個別に操作するブロックがありました。
方向は左側にあるスイッチで変更できるようです。
回転速度はスライダか右側のボタンを押してキーボードから入力します。
「左タイヤを速度75、右タイヤを速度-75、0.6秒間回転する。」
実行すると、その場で時計回りに一回転しました。
なお、図の右のようにスピンを使うとその場で回転することができるのですが、なぜか動きがカクカクでした。
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("motor 75, -75, in 0.6sec")
droid.raw_motor(75, -75, 0.6)
# print("spin: 360deg in 1.0sec")
# droid.spin(360, 1.0)
print("Testing End...")
else:
print("Failed to connect to Sphero.")
Scratchと同様にspinを使うと動きがカクカクでした。
sphero_edu.pyの中身を見ると、spinはすこしずつ向きを変更するようなので、回転する角度と時間によってはカクつきが目立つのかもしれません。
まとめ
spheroV2を用いて、sphero boltの左右のタイヤをpythonで動かすことができました。
左右のタイヤの回転を別々に指定できるので動きを細かく制御して楽しめそうです。