bmm150 — Magnetómetro BMM150 de 3 eixos¶
Driver para o sensor geomagnético de 3 eixos BMM150 da Bosch, via I2C. Na construção, o driver faz reset por software ao dispositivo, coloca-o em modo de operação normal à ODR solicitada e lê os registos de ajuste utilizados pelas equações de compensação da Bosch para converter leituras brutas em valores calibrados do campo magnético.
Nota
O modo SPI não é suportado por este driver; passar um bus que não seja I2C gera ValueError.
Exemplo:
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)
Classes¶
- class bmm150.BMM150(bus: machine.I2C, cs: machine.Pin | None = None, address: int = 0x10, magnet_odr: int = 30)¶
Constrói uma instância
BMM150, faz reset por software ao chip, verifica o seu ID, configura-o para o modo normal amagnet_odrHz e lê os registos de ajuste de fábrica.busUm bus
machine.I2Cconfigurado ao qual o sensor está ligado.csReservado para o modo SPI. Deve ser deixado como
None; o SPI não está atualmente implementado e fornecer um bus que não seja I2C geraValueError.addressEndereço I2C de 7 bits do dispositivo. Por defeito é
0x10.magnet_odrTaxa de dados de saída do magnetómetro em Hz. Deve ser um de
2,6,8,10,15,20,25ou30; qualquer outro valor geraValueError.