bmm150 — Magnetometro a 3 assi BMM150¶
Driver per il sensore geomagnetico a 3 assi Bosch BMM150 tramite I2C. Alla costruzione il driver esegue un soft reset del dispositivo, lo commuta in modalità di funzionamento normale all’ODR richiesto e legge i registri di trim utilizzati dalle equazioni di compensazione Bosch per convertire le letture grezze in valori di campo magnetico calibrati.
Nota
La modalità SPI non è supportata da questo driver; passare un bus non I2C solleva ValueError.
Esempio:
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)
Classi¶
- class bmm150.BMM150(bus: machine.I2C, cs: machine.Pin | None = None, address: int = 0x10, magnet_odr: int = 30)¶
Costruisce un’istanza
BMM150, esegue il soft reset del chip, ne verifica l’ID, lo configura in modalità normale amagnet_odrHz e legge i registri di trim di fabbrica.busUn bus
machine.I2Cconfigurato a cui è collegato il sensore.csRiservato per la modalità SPI. Deve essere lasciato a
None; la SPI non è attualmente implementata e fornire un bus non I2C sollevaValueError.addressIndirizzo I2C a 7 bit del dispositivo. Il valore predefinito è
0x10.magnet_odrFrequenza di output dei dati del magnetometro in Hz. Deve essere uno tra
2,6,8,10,15,20,25o30; qualsiasi altro valore sollevaValueError.