bmm150 — BMM150 3축 자력계¶
I2C를 통해 동작하는 Bosch BMM150 3축 지자기 센서용 드라이버입니다. 객체 생성 시 드라이버는 장치를 소프트 리셋하고, 요청된 ODR로 정상 동작 모드로 전환한 뒤, 원시 측정값을 보정된 자기장 값으로 변환하는 Bosch 보정 방정식에서 사용하는 트림 레지스터를 읽습니다.
참고
이 드라이버는 SPI 모드를 지원하지 않습니다. I2C가 아닌 버스를 전달하면 ValueError가 발생합니다.
예제:
import time
from machine import Pin, I2C
from bmm150 import BMM150
imu = BMM150(I2C(1, scl=Pin("P15"), sda=Pin("P14")))
while True:
print("magnetometer: x:{:>8.3f} y:{:>8.3f} z:{:>8.3f}".format(*imu.magnet()))
time.sleep_ms(100)
클래스¶
- class bmm150.BMM150(bus: machine.I2C, cs: machine.Pin | None = None, address: int = 0x10, magnet_odr: int = 30)¶
BMM150인스턴스를 생성하고, 칩을 소프트 리셋하고, 칩 ID를 검증하고,magnet_odrHz의 정상 모드로 구성한 뒤 공장 트림 레지스터를 읽습니다.bus센서가 연결된, 구성이 완료된
machine.I2C버스입니다.csSPI 모드용으로 예약되어 있습니다.
None으로 두어야 합니다. SPI는 현재 구현되어 있지 않으며 I2C가 아닌 버스를 전달하면ValueError가 발생합니다.address장치의 7비트 I2C 주소입니다. 기본값은
0x10입니다.magnet_odr자력계 출력 데이터 레이트(Hz)입니다.
2,6,8,10,15,20,25,30중 하나여야 하며, 그 외의 값은ValueError를 발생시킵니다.