imu — imu érzékelő¶
Az imu modul a kamera érzékelője alatt lévő IMU érzékelő olvasására szolgál.
Megjegyzés
Az IMU érzékelő (és ez a modul) nincs jelen minden OpenMV Cam modellen.
Amikor a kameralap az asztalon fekszik, felfelé nézve:
Az X a kamera érzékelőjétől jobbra mutat.
Az Y a kamera érzékelője alá mutat (a lap alja felé).
A Z a kamera érzékelőjével ellentétes irányba mutat (az asztal felé).
Példa használat – a nyers gyorsulásmérő, giroszkóp és hőmérséklet lekérdezése:
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)
Példa használat – annak észlelése, melyik irányba van döntve a 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)
Függvények¶
- imu.acceleration_mg() Tuple[float, float, float]¶
Visszaadja az
(x, y, z)gyorsulását float tuple-ként milli-g-ben.
- imu.angular_rate_mdps() Tuple[float, float, float]¶
Visszaadja az
(x, y, z)szögsebességét float tuple-ként milli-fok-per-másodpercben.
- imu.roll() float¶
Visszaadja a kameramodul dőlésszögét (roll) fokban.
0 -> A kamera áll.
90 -> A kamera balra van forgatva.
180 -> A kamera fejjel lefelé áll.
270 -> A kamera jobbra van forgatva.
- imu.pitch() float¶
Visszaadja a kameramodul bólintási szögét (pitch) fokban.
0 -> A kamera áll.
90 -> A kamera lefelé néz.
180 -> A kamera fejjel lefelé áll.
270 -> A kamera felfelé néz.