imu — IMU segédmodul az Arduino Nano 33 BLE Sense-hez¶
Megjegyzés
Ez az oldal az Arduino Nano 33 BLE Sense Python imu modulját dokumentálja (egy kis burkoló a fedélzeti IMU-illesztőprogramok köré). Az OPENMV_N6, OPENMV_RT1060 és OPENMV_AE3 kameralapokon szállított OpenMV C-szintű imu modulhoz lásd: imu — imu érzékelő.
Ez a modul egy vékony, lap-specifikus burkoló, amely az Arduino Nano 33 BLE Sense fedélzeti tehetetlenségi mérőegységét egyetlen IMU objektumként teszi elérhetővé. A lap mindkét hardveres revíziója átlátszóan kezelődik:
A Rev 1 egyetlen LSM9DS1 9 tengelyes IMU-t használ.
A Rev 2 egy Bosch BMI270-et (gyorsulásmérő + giroszkóp) kombinál egy Bosch BMM150 magnetométerrel.
A konstruktor megvizsgálja az I2C-buszt a BMI270 címén (0x68), és automatikusan kiválasztja a megfelelő illesztőprogramot, így a felhasználói kód egyszer megírható, és bármelyik revízión futtatható.
Példa:
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')¶
Egy I2C-buszhoz kötött IMU objektum létrehozása.
A bus egy inicializált
machine.I2Cpéldány, amely a fedélzeti IMU-(k)hoz csatlakozik.
Létrehozáskor a busz végigvizsgálódik: ha egy eszköz válaszol a
0x68címen, akkor egyBMI270ésBMM150pár jön létre (Nano 33 BLE Sense Rev 2), egyébként egyLSM9DS1jön létre (Rev 1). Az alapul szolgáló illesztőprogram azimuattribútumon tárolódik, és alapértelmezett tartományokkal és kimeneti adatsebességekkel kerül beállításra.- accel() tuple[float, float, float]¶
A legfrissebb gyorsulásmérő-leolvasást
(x, y, z)rendezett hármasként adja vissza g (standard nehézségi gyorsulás) egységben.