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.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.