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.I2Cinstanca povezana s ugrađenim IMU jedinicama.
Pri stvaranju se skenira sabirnica: ako uređaj odgovori na adresi
0x68stvara se parBMI270iBMM150(Nano 33 BLE Sense Rev 2), u suprotnom se stvaraLSM9DS1(Rev 1). Osnovni upravljački program čuva se uimuatributu 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).