imu --- sensor imu¶
Modul imu digunakan untuk membaca sensor IMU di bawah sensor kamera.
Catatan
Sensor IMU (dan modul ini) tidak tersedia pada semua model OpenMV Cam.
Saat board kamera diletakkan di atas meja menghadap ke atas:
X menunjuk ke kanan sensor kamera.
Y menunjuk ke bawah sensor kamera (menuju bagian bawah board).
Z menunjuk ke arah berlawanan dari sensor kamera (ke dalam meja).
Contoh penggunaan -- polling akselerometer mentah, gyro, dan suhu:
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)
Contoh penggunaan -- mendeteksi arah kemiringan kamera:
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)
Fungsi¶
- imu.acceleration_mg() Tuple[float, float, float]¶
Mengembalikan akselerasi untuk
(x, y, z)sebagai tupel float dalam milli-g.
- imu.angular_rate_mdps() Tuple[float, float, float]¶
Mengembalikan laju sudut untuk
(x, y, z)sebagai tupel float dalam milli-derajat-per-detik.
- imu.roll() float¶
Mengembalikan sudut roll modul kamera dalam derajat.
0 -> Kamera berdiri tegak.
90 -> Kamera diputar ke kiri.
180 -> Kamera terbalik.
270 -> Kamera diputar ke kanan.
- imu.pitch() float¶
Mengembalikan sudut pitch modul kamera dalam derajat.
0 -> Kamera berdiri tegak.
90 -> Kamera mengarah ke bawah.
180 -> Kamera terbalik.
270 -> Kamera mengarah ke atas.