imu --- imu センサー¶
imu モジュールは、カメラセンサーの下にある IMU センサーを読み取るために使用します。
注釈
IMU センサー(およびこのモジュール)は、すべての OpenMV Cam モデルに搭載されているわけではありません。
カメラボードを表向きにテーブルに置いた場合:
X はカメラセンサーの右方向を指します。
Y はカメラセンサーの下方向(ボードの底部に向かって)を指します。
Z はカメラセンサーとは逆の方向(テーブルの中へ)を指します。
使用例 -- 生の加速度計、ジャイロ、温度をポーリングする:
import imu
import time
while True:
ax, ay, az = imu.acceleration_mg()
gx, gy, gz = imu.angular_rate_mdps()
t = imu.temperature_c()
print("accel (mg) : {:8.1f} {:8.1f} {:8.1f}".format(ax, ay, az))
print("gyro (mdps): {:8.1f} {:8.1f} {:8.1f}".format(gx, gy, gz))
print("temp (degC): {:5.1f}".format(t))
time.sleep_ms(200)
使用例 -- カメラがどちらの方向に傾いているかを検出する:
import imu
import time
while True:
r = imu.roll()
if abs(r - 90) < 15:
print("camera rotated left")
elif abs(r - 270) < 15:
print("camera rotated right")
elif abs(r - 180) < 15:
print("camera upside down")
else:
print("camera upright")
time.sleep_ms(100)
関数¶
- imu.roll() float¶
カメラモジュールのロール角を度単位で返します。
0 -> カメラが直立しています。
90 -> カメラが左に回転しています。
180 -> カメラが上下逆さまです。
270 -> カメラが右に回転しています。