imu — asistente de IMU para la Arduino Nano 33 BLE Sense¶
Nota
Esta página documenta el módulo imu de Python de la Arduino Nano 33 BLE Sense (un pequeño contenedor alrededor de los controladores de IMU integrados). Para el módulo imu a nivel de C de OpenMV que se incluye en las placas de cámara OPENMV_N6, OPENMV_RT1060 y OPENMV_AE3, consulte imu — sensor imu.
Este módulo es un contenedor ligero específico de la placa que expone la unidad de medición inercial integrada de la Arduino Nano 33 BLE Sense como un único objeto IMU. Ambas revisiones de hardware de la placa se gestionan de forma transparente:
La Rev 1 utiliza una única IMU LSM9DS1 de 9 ejes.
La Rev 2 combina un Bosch BMI270 (acelerómetro + giroscopio) con un magnetómetro Bosch BMM150.
El constructor sondea el bus I2C en busca de la dirección del BMI270 (0x68) y selecciona automáticamente el controlador correspondiente, de modo que el código de usuario se puede escribir una sola vez y ejecutar en cualquiera de las dos revisiones.
Ejemplo:
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')¶
Construye un objeto IMU vinculado a un bus I2C.
bus es una instancia inicializada de
machine.I2Cconectada a la(s) IMU integrada(s).
Durante la construcción se escanea el bus: si un dispositivo responde en la dirección
0x68se instancia un parBMI270másBMM150(Nano 33 BLE Sense Rev 2), de lo contrario se instancia unLSM9DS1(Rev 1). El controlador subyacente se mantiene en el atributoimuy se configura con rangos y tasas de datos de salida predeterminados.- accel() tuple[float, float, float]¶
Devuelve la última lectura del acelerómetro como una tupla
(x, y, z)en unidades de g (gravedades estándar).