imu — imu sensörü#

imu modülü, kamera sensörünün altındaki IMU sensörünü okumak için kullanılır.

Not

IMU sensörü (ve bu modül) tüm OpenMV Cam modellerinde bulunmaz.

Kamera kartı yüzü yukarı bakacak şekilde bir masada yatarken:

  • X, kamera sensörünün sağını gösterir.

  • Y, kamera sensörünün altını gösterir (kartın alt kısmına doğru).

  • Z, kamera sensörünün ters yönünü gösterir (masanın içine doğru).

Örnek kullanım – ham ivmeölçeri, jiroskopu ve sıcaklığı sorgula:

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)

Örnek kullanım – kameranın hangi yöne eğildiğini tespit et:

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)

Fonksiyonlar#

imu.acceleration_mg() Tuple[float, float, float]#

(x, y, z) için ivmeyi milli-g cinsinden bir kayan nokta demeti olarak döndürür.

imu.angular_rate_mdps() Tuple[float, float, float]#

(x, y, z) için açısal hızı saniyede milli-derece cinsinden bir kayan nokta demeti olarak döndürür.

imu.temperature_c() float#

IMU sensörü sıcaklığını Celsius derecesi cinsinden döndürür.

imu.roll() float#

Kamera modülünün yuvarlanma (roll) açısını derece cinsinden döndürür.

  • 0 -> Kamera dik duruyor.

  • 90 -> Kamera sola döndürülmüş.

  • 180 -> Kamera baş aşağı.

  • 270 -> Kamera sağa döndürülmüş.

imu.pitch() float#

Kamera modülünün yunuslama (pitch) açısını derece cinsinden döndürür.

  • 0 -> Kamera dik duruyor.

  • 90 -> Kamera aşağıyı gösteriyor.

  • 180 -> Kamera baş aşağı.

  • 270 -> Kamera yukarıyı gösteriyor.

imu.sleep(enable: bool) None#

enable değeri True olarak ayarlandığında IMU sensörünü uyku moduna alır. False onu yeniden uyandırır (varsayılan).

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

addr konumundaki IMU yazmacını val değerine ayarlar.

imu.__read_reg(addr: int) int#

addr konumundaki IMU yazmacının değerini döndürür.