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.temperature_c() float

Mengembalikan suhu sensor IMU dalam derajat Celsius.

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

enable diatur ke True menempatkan sensor IMU ke mode tidur. False membangunkannya kembali (default).

imu.__write_reg(addr: int, val: int) None

Mengatur register IMU pada addr ke val.

imu.__read_reg(addr: int) int

Mengembalikan nilai register IMU pada addr.