bmm150 — BMM150 3-осьовий магнетометр¶
Драйвер для Bosch BMM150 — 3-осьового геомагнітного датчика через 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.