imu — IMU pomoćnik za Arduino Nano 33 BLE Sense

Napomena

Ova stranica dokumentira Python imu modul Arduino Nano 33 BLE Sense (mali omotač oko ugrađenih IMU upravljačkih programa). Za OpenMV imu modul na razini C koji se isporučuje na OPENMV_N6, OPENMV_RT1060 i OPENMV_AE3 kamerama, pogledajte imu — imu senzor.

Ovaj modul je tanki omotač specifičan za ploču koji izlaže ugrađenu inercijsku mjernu jedinicu Arduino Nano 33 BLE Sense kao jedan IMU objekt. Obje hardverske revizije ploče obrađuju se transparentno:

  • Rev 1 koristi jedan LSM9DS1 9-osni IMU.

  • Rev 2 kombinira Bosch BMI270 (akcelerometar + žiroskop) s Bosch BMM150 magnetometrom.

Konstruktor ispituje I2C sabirnicu za BMI270 adresu (0x68) i automatski odabire odgovarajući upravljački program, tako da se korisnički kod može napisati jednom i pokrenuti na bilo kojoj reviziji.

Primjer:

import time
import imu
from machine import Pin, I2C

bus = I2C(1, scl=Pin("P15"), sda=Pin("P14"))
sensor = imu.IMU(bus)

while True:
    print('Accelerometer: x:{:>8.3f} y:{:>8.3f} z:{:>8.3f}'.format(*sensor.accel()))
    print('Gyroscope:     x:{:>8.3f} y:{:>8.3f} z:{:>8.3f}'.format(*sensor.gyro()))
    print('Magnetometer:  x:{:>8.3f} y:{:>8.3f} z:{:>8.3f}'.format(*sensor.magnet()))
    print("")
    time.sleep_ms(100)

class IMU

class imu.IMU(bus: 'machine.I2C')

Stvara IMU objekt vezan na I2C sabirnicu.

  • bus je inicijalizirana machine.I2C instanca povezana s ugrađenim IMU jedinicama.

Pri stvaranju se skenira sabirnica: ako uređaj odgovori na adresi 0x68 stvara se par BMI270 i BMM150 (Nano 33 BLE Sense Rev 2), u suprotnom se stvara LSM9DS1 (Rev 1). Osnovni upravljački program čuva se u imu atributu i konfigurira se sa zadanim rasponima i izlaznim brzinama podataka.

accel() tuple[float, float, float]

Vraća najnovije očitanje akcelerometra kao (x, y, z) n-torku u jedinicama g (standardne gravitacije).

gyro() tuple[float, float, float]

Vraća najnovije očitanje žiroskopa kao (x, y, z) n-torku u stupnjevima po sekundi.

magnet() tuple[float, float, float]

Vraća najnovije očitanje magnetometra kao (x, y, z) n-torku u mikroteslama (uT).