bmm150 — Magnetometru pe 3 axe BMM150¶
Driver pentru senzorul geomagnetic pe 3 axe Bosch BMM150 prin I2C. La construire, driverul resetează software dispozitivul, îl comută în modul normal de funcționare la ODR-ul solicitat și citește registrele de calibrare (trim) utilizate de ecuațiile de compensare Bosch pentru a converti citirile brute în valori calibrate ale câmpului magnetic.
Notă
Modul SPI nu este acceptat de acest driver; transmiterea unei magistrale non-I2C generează ValueError.
Exemplu:
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)
Clase¶
- class bmm150.BMM150(bus: machine.I2C, cs: machine.Pin | None = None, address: int = 0x10, magnet_odr: int = 30)¶
Construiește o instanță
BMM150, resetează software cipul, verifică ID-ul cipului, îl configurează pentru modul normal lamagnet_odrHz și citește registrele de calibrare din fabrică.busO magistrală
machine.I2Cconfigurată la care este atașat senzorul.csRezervat pentru modul SPI. Trebuie lăsat ca
None; SPI nu este implementat în prezent, iar furnizarea unei magistrale non-I2C genereazăValueError.addressAdresa I2C pe 7 biți a dispozitivului. Valoarea implicită este
0x10.magnet_odrRata de date de ieșire a magnetometrului în Hz. Trebuie să fie una dintre valorile
2,6,8,10,15,20,25sau30; orice altceva genereazăValueError.