imu — Arduino Nano 33 BLE Sense용 IMU 헬퍼¶
참고
이 페이지는 Arduino Nano 33 BLE Sense의 Python imu 모듈(온보드 IMU 드라이버를 감싸는 소형 래퍼)을 설명합니다. OPENMV_N6, OPENMV_RT1060, OPENMV_AE3 카메라 보드에 탑재되는 OpenMV C 레벨 imu 모듈에 대해서는 imu — imu 센서를 참조하십시오.
이 모듈은 Arduino Nano 33 BLE Sense의 온보드 관성 측정 장치(IMU)를 단일 IMU 객체로 노출하는, 보드에 특화된 얇은 래퍼입니다. 보드의 두 하드웨어 리비전 모두 투명하게 처리됩니다:
Rev 1은 단일 LSM9DS1 9축 IMU를 사용합니다.
Rev 2는 Bosch BMI270(가속도계 + 자이로스코프)과 Bosch BMM150 자력계를 결합합니다.
생성자는 I2C 버스에서 BMI270 주소(0x68)를 탐색하여 일치하는 드라이버를 자동으로 선택하므로, 사용자 코드를 한 번만 작성하여 어느 리비전에서든 실행할 수 있습니다.
예제:
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')¶
I2C 버스에 바인딩된 IMU 객체를 생성합니다.
bus는 온보드 IMU(들)에 연결된, 초기화된
machine.I2C인스턴스입니다.
생성 시 버스가 스캔됩니다. 주소
0x68에서 장치가 응답하면BMI270과BMM150쌍이 인스턴스화되고(Nano 33 BLE Sense Rev 2), 그렇지 않으면LSM9DS1이 인스턴스화됩니다(Rev 1). 기반 드라이버는imu속성에 보관되며 기본 범위와 출력 데이터 레이트로 구성됩니다.