imu — IMU-apuväline Arduino Nano 33 BLE Sense -korttiin¶
Muista
Tällä sivulla dokumentoidaan Arduino Nano 33 BLE Sensen Python imu -moduuli (pieni kääre kortin sisäisten IMU-ajurien ympärille). OPENMV_N6-, OPENMV_RT1060- ja OPENMV_AE3-kamerakorttien mukana toimitettavan OpenMV:n C-tason imu-moduulin osalta katso imu — imu-sensori.
Tämä moduuli on ohut korttikohtainen kääre, joka tuo Arduino Nano 33 BLE Sensen sisäisen inertiamittausyksikön esiin yhtenä IMU -objektina. Molemmat kortin laitteistorevisiot käsitellään läpinäkyvästi:
Rev 1 käyttää yhtä LSM9DS1 9-akselista IMU:ta.
Rev 2 yhdistää Bosch BMI270:n (kiihtyvyysanturi + gyroskooppi) Bosch BMM150 -magnetometriin.
Konstruktori tunnustelee I2C-väylää BMI270-osoitteen (0x68) varalta ja valitsee vastaavan ajurin automaattisesti, joten käyttäjäkoodi voidaan kirjoittaa kerran ja ajaa kummalla tahansa revisiolla.
Esimerkki:
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')¶
Luo I2C-väylään sidotun IMU-objektin.
bus on alustettu
machine.I2C-instanssi, joka on yhdistetty kortin sisäisiin IMU:ihin.
Konstruktion yhteydessä väylä skannataan: jos jokin laite vastaa osoitteessa
0x68, luodaanBMI270- jaBMM150-pari (Nano 33 BLE Sense Rev 2), muutoin luodaanLSM9DS1(Rev 1). Taustalla oleva ajuri pidetäänimu-attribuutissa ja konfiguroidaan oletusalueilla ja -datanopeuksilla.- accel() tuple[float, float, float]¶
Palauttaa viimeisimmän kiihtyvyysanturin lukeman
(x, y, z)-monikkona g-yksiköissä (standardipainovoimat).