bmm150 — BMM150 3 tengelyes magnetométer¶
Illesztőprogram a Bosch BMM150 3 tengelyes geomágneses érzékelőhöz I2C felett. A példányosításkor az illesztőprogram szoftveresen újraindítja az eszközt, normál üzemmódba kapcsolja a kért ODR-en, és kiolvassa a Bosch kompenzációs egyenletei által használt trim regisztereket, amelyek a nyers leolvasásokat kalibrált mágneses térerősség-értékekké alakítják.
Megjegyzés
Az SPI módot ez az illesztőprogram nem támogatja; nem I2C busz átadása ValueError hibát vált ki.
Példa:
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)
Osztályok¶
- class bmm150.BMM150(bus: machine.I2C, cs: machine.Pin | None = None, address: int = 0x10, magnet_odr: int = 30)¶
Létrehoz egy
BMM150példányt, szoftveresen újraindítja a chipet, ellenőrzi a chip azonosítóját, normál módra konfiguráljamagnet_odrHz-en, és kiolvassa a gyári trim regisztereket.busEgy beállított
machine.I2Cbusz, amelyhez az érzékelő csatlakozik.csAz SPI módhoz fenntartva.
Noneértéken kell hagyni; az SPI jelenleg nincs implementálva, és nem I2C busz átadásaValueErrorhibát vált ki.addressAz eszköz 7 bites I2C címe. Alapértelmezett értéke
0x10.magnet_odrA magnetométer kimeneti adatsebessége Hz-ben. A következő értékek egyike lehet:
2,6,8,10,15,20,25vagy30; bármi másValueErrorhibát vált ki.