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.
- imu.sleep(enable: bool) None#
enablediatur keTruemenempatkan sensor IMU ke mode tidur.Falsemembangunkannya kembali (default).
- imu.__read_reg(addr: int, buf: bytearray | None = None) int | None#
Mengembalikan nilai register IMU pada
addr.Jika
bufdiberikan, melakukan pembacaan burst sebagai gantinya:len(buf)byte dibaca mulai dariaddrke dalam buffer yang dapat ditulis danNonedikembalikan. Gunakan ini untuk membaca satu blok register yang berurutan (misalnya keenam byte output akselerometer) dalam satu transaksi bus.