bmm150 — BMM150 3-assige magnetometer¶
Driver voor de Bosch BMM150 3-assige geomagnetische sensor via I2C. Bij constructie voert de driver een soft reset van het apparaat uit, schakelt het over naar de normale bedrijfsmodus op de gevraagde ODR, en leest de trim-registers die door de Bosch-compensatievergelijkingen worden gebruikt om ruwe metingen om te zetten naar gekalibreerde magnetische-veldwaarden.
Notitie
De SPI-modus wordt niet ondersteund door deze driver; het doorgeven van een niet-I2C-bus veroorzaakt een ValueError.
Voorbeeld:
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)
Klassen¶
- class bmm150.BMM150(bus: machine.I2C, cs: machine.Pin | None = None, address: int = 0x10, magnet_odr: int = 30)¶
Construeer een
BMM150-instantie, voer een soft reset van de chip uit, verifieer de chip-ID, configureer deze voor de normale modus opmagnet_odrHz en lees de fabrieks-trim-registers.busEen geconfigureerde
machine.I2C-bus waarop de sensor is aangesloten.csGereserveerd voor de SPI-modus. Moet als
Noneworden gelaten; SPI is momenteel niet geïmplementeerd en het opgeven van een niet-I2C-bus veroorzaakt eenValueError.address7-bits I2C-adres van het apparaat. Standaard
0x10.magnet_odrUitvoerdatasnelheid van de magnetometer in Hz. Moet een van de volgende zijn:
2,6,8,10,15,20,25of30; alles anders veroorzaakt eenValueError.