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.