bmm150 — BMM150 3-axlig magnetometer¶
Drivrutin för Bosch BMM150 3-axliga geomagnetiska sensor över I2C. Vid konstruktion mjukåterställer drivrutinen enheten, växlar den till normalt driftläge vid den begärda ODR:n och läser trimregistren som används av Boschs kompensationsekvationer för att omvandla råa avläsningar till kalibrerade magnetfältsvärden.
Anteckning
SPI-läge stöds inte av denna drivrutin; att skicka en buss som inte är I2C ger upphov till ValueError.
Exempel:
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)
Klasser¶
- class bmm150.BMM150(bus: machine.I2C, cs: machine.Pin | None = None, address: int = 0x10, magnet_odr: int = 30)¶
Skapa en
BMM150-instans, mjukåterställ chippet, verifiera dess chip-ID, konfigurera det för normalläge vidmagnet_odrHz och läs fabrikens trimregister.busEn konfigurerad
machine.I2C-buss som sensorn är ansluten till.csReserverad för SPI-läge. Måste lämnas som
None; SPI är för närvarande inte implementerat och att tillhandahålla en buss som inte är I2C ger upphov tillValueError.address7-bitars I2C-adress för enheten. Standardvärdet är
0x10.magnet_odrMagnetometerns utdatahastighet i Hz. Måste vara en av
2,6,8,10,15,20,25eller30; allt annat ger upphov tillValueError.