bmm150 --- BMM150 三轴磁力计¶
用于通过 I2C 操作 Bosch BMM150 三轴地磁传感器的驱动程序。在构造时,该驱动会对设备执行软复位,将其切换至所请求 ODR 下的正常工作模式,并读取 Bosch 补偿公式所用的微调(trim)寄存器,以将原始读数转换为已校准的磁场值。
备注
本驱动不支持 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总线。cs为 SPI 模式预留。必须保持为
None;当前尚未实现 SPI,传入非 I2C 总线会引发ValueError。address设备的 7 位 I2C 地址。默认为
0x10。magnet_odr磁力计输出数据速率,单位为 Hz。必须为
2、6、8、10、15、20、25或30之一;其他取值会引发ValueError。