bmm150 — 3-осевой магнитометр BMM150¶
Драйвер для 3-осевого геомагнитного датчика Bosch BMM150 через 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, выполняет программный сброс чипа, проверяет его идентификатор, настраивает его на нормальный режим с частотойmagnet_odrГц и считывает заводские регистры калибровки.busНастроенная шина
machine.I2C, к которой подключён датчик.csЗарезервировано для режима SPI. Должно оставаться равным
None; SPI в настоящее время не реализован, а передача шины, отличной от I2C, вызываетValueError.address7-битный I2C-адрес устройства. По умолчанию
0x10.magnet_odrЧастота выходных данных магнитометра в Гц. Должна быть одним из значений:
2,6,8,10,15,20,25или30; любое другое значение вызываетValueError.