imu --- imu sensor

โมดูล imu ใช้สำหรับอ่านค่า IMU sensor ที่อยู่ใต้ camera sensor

Note

IMU sensor (และโมดูลนี้) ไม่มีอยู่ในทุกรุ่นของ OpenMV Cam

สำหรับเมื่อบอร์ดกล้องวางราบบนโต๊ะโดยหันหน้าขึ้น:

  • X ชี้ไปทางขวาของ camera sensor

  • Y ชี้ลงใต้ camera sensor (ไปทางด้านล่างของบอร์ด)

  • Z ชี้ในทิศทางตรงข้ามกับ camera sensor (เข้าหาโต๊ะ)

ตัวอย่างการใช้งาน -- สำรวจ accelerometer, gyro และอุณหภูมิแบบ raw:

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) เป็น float tuple ในหน่วย milli-g

imu.angular_rate_mdps() Tuple[float, float, float]

ส่งคืนค่าอัตราเชิงมุมสำหรับ (x, y, z) เป็น float tuple ในหน่วย milli-degrees-per-second

imu.temperature_c() float

ส่งคืนอุณหภูมิของ IMU sensor ในหน่วยองศาเซลเซียส

imu.roll() float

ส่งคืนมุม roll ของโมดูลกล้องในหน่วยองศา

  • 0 -> กล้องตั้งตรง

  • 90 -> กล้องหมุนไปทางซ้าย

  • 180 -> กล้องหมุนคว่ำลง

  • 270 -> กล้องหมุนไปทางขวา

imu.pitch() float

ส่งคืนมุม pitch ของโมดูลกล้องในหน่วยองศา

  • 0 -> กล้องตั้งตรง

  • 90 -> กล้องชี้ลง

  • 180 -> กล้องหมุนคว่ำลง

  • 270 -> กล้องชี้ขึ้น

imu.sleep(enable: bool) None

enable ตั้งค่าเป็น True เพื่อสั่งให้ IMU sensor เข้าสู่โหมดสลีป False เพื่อปลุกขึ้นมา (ค่าเริ่มต้น)

imu.__write_reg(addr: int, val: int) None

ตั้งค่า IMU register ที่ addr เป็น val

imu.__read_reg(addr: int) int

ส่งคืนค่าของ IMU register ที่ addr