bmm150 — Magnetômetro de 3 eixos BMM150¶
Driver para o sensor geomagnético de 3 eixos BMM150 da Bosch via I2C. Na construção, o driver faz um reset por software do dispositivo, coloca-o em modo de operação normal na ODR solicitada e lê os registradores de trim usados pelas equações de compensação da Bosch para converter leituras brutas em valores de campo magnético calibrados.
Nota
O modo SPI não é suportado por este driver; passar um barramento não-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 de
BMM150, faz um reset por software do chip, verifica seu ID, configura-o para modo normal amagnet_odrHz e lê os registradores de trim de fábrica.busUm barramento
machine.I2Cconfigurado ao qual o sensor está conectado.csReservado para o modo SPI. Deve permanecer como
None; o SPI não está atualmente implementado e fornecer um barramento não-I2C geraValueError.addressEndereço I2C de 7 bits do dispositivo. O padrão é
0x10.magnet_odrTaxa de dados de saída do magnetômetro em Hz. Deve ser um dos valores
2,6,8,10,15,20,25ou30; qualquer outro valor geraValueError.