bmm150 — BMM150 3-akselinen magnetometri¶
Ajuri Bosch BMM150 -3-akseliselle geomagneettiselle sensorille I2C-väylän kautta. Muodostuksen yhteydessä ajuri suorittaa laitteen pehmeän nollauksen, kytkee sen normaaliin toimintatilaan pyydetyllä ODR:llä ja lukee trim-rekisterit, joita Boschin kompensaatioyhtälöt käyttävät raakalukemien muuntamiseen kalibroiduiksi magneettikenttäarvoiksi.
Muista
Tämä ajuri ei tue SPI-tilaa; muun kuin I2C-väylän antaminen nostaa virheen ValueError.
Esimerkki:
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)
Luokat¶
- class bmm150.BMM150(bus: machine.I2C, cs: machine.Pin | None = None, address: int = 0x10, magnet_odr: int = 30)¶
Muodostaa
BMM150-instanssin, suorittaa sirun pehmeän nollauksen, varmentaa sen sirutunnuksen, konfiguroi sen normaalitilaan taajuudellamagnet_odrHz ja lukee tehdasasetetut trim-rekisterit.busKonfiguroitu
machine.I2C-väylä, johon sensori on liitetty.csVarattu SPI-tilaa varten. Täytyy jättää arvoon
None; SPI:tä ei ole tällä hetkellä toteutettu, ja muun kuin I2C-väylän antaminen nostaa virheenValueError.addressLaitteen 7-bittinen I2C-osoite. Oletuksena
0x10.magnet_odrMagnetometrin ulostulodataaja hertseinä. Täytyy olla yksi seuraavista:
2,6,8,10,15,20,25tai30; mikä tahansa muu nostaa virheenValueError.