ジャイロセンサーで角度と角速度を測る - HondaLab/Robot-Intelligence GitHub Wiki
ジャイロセンサーを2番のインターフェイスにつないで,角度と角速度を同時に測定する例を下に示しました.
他のセンサーと少し違うところは,gyro.modeを'GYRO-G&A'に指定した場合,2つの値を読む必要がある点です. それぞれ,value(0), value(1)で読み込みます.
#!/usr/bin/python3
# gyro_test_xx.py by Yasushi Honda 2019 1/2
# ------------------------------------------------
import ev3dev.ev3 as ev3
import time
gs=ev3.GyroSensor(ev3.INPUT_2)
print('modes: %s' % gs.modes)
gs.mode='GYRO-G&A'
print('Current mode: %s' % gs.mode)
print('Number of values: %d' % gs.num_values)
ts=ev3.TouchSensor(ev3.INPUT_3)
print('[ Push touch sensor to stop ](/HondaLab/Robot-Intelligence/wiki/-Push-touch-sensor-to-stop-)')
print(' angle a-velocity')
while ts.value()==0:
agl=gs.value(0)
rate=gs.value(1)
print("\r %5d %8d" % (agl,rate),end='')
time.sleep(0.2)
print('\n bye-bye')
このやり方は,Sensorクラスに共通する方法です. 他の複数の値を返すセンサーの場合にも,同様に値を読み取ることができます.