imu — חיישן imu¶
המודול imu משמש לקריאת חיישן ה-IMU שמתחת לחיישן המצלמה.
הערה
חיישן ה-IMU (והמודול הזה) אינו קיים בכל דגמי OpenMV Cam.
כאשר לוח המצלמה מונח על שולחן כשפניו כלפי מעלה:
X מצביע לימין חיישן המצלמה.
Y מצביע כלפי מטה מתחת לחיישן המצלמה (לכיוון תחתית הלוח).
Z מצביע בכיוון ההפוך לחיישן המצלמה (לתוך השולחן).
דוגמת שימוש – דגום את המאיץ הגולמי, הג’ירו והטמפרטורה:
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)
דוגמת שימוש – זהה לאיזה כיוון המצלמה מוטה:
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)
פונקציות¶
- imu.acceleration_mg() Tuple[float, float, float]¶
מחזיר את התאוצה עבור
(x, y, z)כטאפל עשרוני ביחידות מילי-g.
- imu.angular_rate_mdps() Tuple[float, float, float]¶
מחזיר את הקצב הזוויתי עבור
(x, y, z)כטאפל עשרוני ביחידות מילי-מעלות-לשנייה.
- imu.roll() float¶
מחזיר את זווית הגלגול (roll) של מודול המצלמה במעלות.
0 -> המצלמה עומדת זקופה.
90 -> המצלמה מסובבת שמאלה.
180 -> המצלמה הפוכה.
270 -> המצלמה מסובבת ימינה.
- imu.pitch() float¶
מחזיר את זווית העלרוד (pitch) של מודול המצלמה במעלות.
0 -> המצלמה עומדת זקופה.
90 -> המצלמה מצביעה כלפי מטה.
180 -> המצלמה הפוכה.
270 -> המצלמה מצביעה כלפי מעלה.