bmm150 --- BMM150 3軸磁力計¶
Bosch BMM150 3軸地磁気センサーをI2C経由で制御するためのドライバです。コンストラクション時に、ドライバはデバイスをソフトリセットし、指定されたODRで通常動作モードに切り替えてから、生の測定値を較正済みの磁界値に変換するためにBoschの補正方程式で使用されるトリムレジスタを読み取ります。
注釈
このドライバは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バスです。csSPIモード用に予約されています。
Noneのままにしておく必要があります。SPIは現在実装されておらず、I2C以外のバスを渡すとValueErrorが発生します。addressデバイスの7ビットI2Cアドレスです。デフォルトは
0x10です。magnet_odr磁力計の出力データレート(Hz)です。
2、6、8、10、15、20、25、30のいずれかである必要があります。それ以外の値を指定するとValueErrorが発生します。