imu — imu-sensori

imu-moduulia käytetään kamerasensorin alla olevan IMU-sensorin lukemiseen.

Muista

IMU-sensori (ja tämä moduuli) ei ole läsnä kaikissa OpenMV Cam -malleissa.

Kun kamerakortti makaa pöydällä etupuoli ylöspäin:

  • X osoittaa kamerasensorista oikealle.

  • Y osoittaa kamerasensorin alapuolelle (kortin alareunaa kohti).

  • Z osoittaa kamerasensorin vastakkaiseen suuntaan (pöytään päin).

Esimerkkikäyttö – lue raaka kiihtyvyysanturi, gyro ja lämpötila:

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)

Esimerkkikäyttö – tunnista, mihin suuntaan kamera on kallistunut:

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)

Funktiot

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

Palauttaa kiihtyvyyden arvolle (x, y, z) liukulukumonikkona milli-g-yksiköissä.

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

Palauttaa kulmanopeuden arvolle (x, y, z) liukulukumonikkona milliasteina sekunnissa.

imu.temperature_c() float

Palauttaa IMU-sensorin lämpötilan Celsius-asteina.

imu.roll() float

Palauttaa kameramoduulin kallistuskulman (roll) asteina.

  • 0 -> Kamera on pystyssä.

  • 90 -> Kamera on kierretty vasemmalle.

  • 180 -> Kamera on ylösalaisin.

  • 270 -> Kamera on kierretty oikealle.

imu.pitch() float

Palauttaa kameramoduulin nyökkäyskulman (pitch) asteina.

  • 0 -> Kamera on pystyssä.

  • 90 -> Kamera osoittaa alaspäin.

  • 180 -> Kamera on ylösalaisin.

  • 270 -> Kamera osoittaa ylöspäin.

imu.sleep(enable: bool) None

enable asetettuna arvoon True asettaa IMU-sensorin lepotilaan. False herättää sen takaisin (oletus).

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

Asettaa IMU-rekisterin osoitteessa addr arvoon val.

imu.__read_reg(addr: int) int

Palauttaa IMU-rekisterin arvon osoitteessa addr.