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