金宏和實です。Python入門の第3回です。今回は、基本のライントレースです。黒いところの上にいると右に進もうとして、白いところにいると左に進もうとするプログラムを作って黒い線をたどります。
モーターはCポートとDポートに接続されており、motor.pair.pair()関数でペアにしてロボットを動かします。Bポートに接続したカラーセンサーの反射光が50未満だと黒い線上にいると判断します。
from hub import port
import motor_pair, color_sensor, runloop
motor_pair.pair(motor_pair.PAIR_1, port.C, port.D)
async def line_follow_forever():
while (True):
if (color_sensor.reflection(port.B) < 50): # 黒い線の上
# ステアリング30で右に
motor_pair.move(motor_pair.PAIR_1, 30, velocity = 300)
else: # 白いところの上
# ステアリング-30で左に
motor_pair.move(motor_pair.PAIR_1, -30, velocity = 300)
async def main():
await line_follow_forever()
runloop.run(main())
motor_pair.move関数の第二引数がsteering(ステアリング)でこのロボットの場合、30だと右方向へ-30だと左方向に進もうとします。第三引数velocity = 300は速度です。
これで、いわゆる片側ライントレースのプログラムになります。