imu — pomocnik IMU dla Arduino Nano 33 BLE Sense¶
Informacja
Ta strona dokumentuje moduł Pythona imu z Arduino Nano 33 BLE Sense (niewielką nakładkę na sterowniki wbudowanego IMU). Dla modułu imu poziomu C z OpenMV, dostarczanego na płytkach kamer OPENMV_N6, OPENMV_RT1060 i OPENMV_AE3, zobacz imu — sensor imu.
Ten moduł jest cienką, specyficzną dla płytki nakładką, która udostępnia wbudowaną inercyjną jednostkę pomiarową Arduino Nano 33 BLE Sense jako pojedynczy obiekt IMU. Obie rewizje sprzętowe płytki są obsługiwane w sposób przezroczysty:
Rev 1 używa pojedynczego 9-osiowego IMU LSM9DS1.
Rev 2 łączy układ Bosch BMI270 (akcelerometr + żyroskop) z magnetometrem Bosch BMM150.
Konstruktor sprawdza magistralę I2C pod kątem adresu BMI270 (0x68) i automatycznie wybiera pasujący sterownik, dzięki czemu kod użytkownika można napisać raz i uruchomić na dowolnej rewizji.
Przykład:
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')¶
Tworzy obiekt IMU powiązany z magistralą I2C.
bus to zainicjalizowana instancja
machine.I2Cpodłączona do wbudowanego IMU (lub IMU).
Przy tworzeniu obiektu magistrala jest skanowana: jeśli urządzenie odpowiada pod adresem
0x68, tworzona jest paraBMI270plusBMM150(Nano 33 BLE Sense Rev 2), w przeciwnym razie tworzony jestLSM9DS1(Rev 1). Bazowy sterownik jest przechowywany w atrybucieimui konfigurowany z domyślnymi zakresami oraz szybkościami danych wyjściowych.- accel() tuple[float, float, float]¶
Zwraca najnowszy odczyt akcelerometru jako krotkę
(x, y, z)w jednostkach g (standardowe przyspieszenia ziemskie).