bmm150 — BMM150 3 eksenli manyetometre¶
Bosch BMM150 3 eksenli jeomanyetik sensör için I2C üzerinden çalışan sürücü. Yapıcıda sürücü, aygıtı yazılımsal olarak sıfırlar, istenen ODR’de normal çalışma moduna geçirir ve ham okumaları kalibre edilmiş manyetik alan değerlerine dönüştürmek için Bosch telafi denklemlerinin kullandığı düzeltme yazmaçlarını okur.
Not
SPI modu bu sürücü tarafından desteklenmez; I2C olmayan bir veri yolu geçirmek ValueError hatası oluşturur.
Örnek:
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)
Sınıflar¶
- class bmm150.BMM150(bus: machine.I2C, cs: machine.Pin | None = None, address: int = 0x10, magnet_odr: int = 30)¶
Bir
BMM150örneği oluşturur, yongayı yazılımsal olarak sıfırlar, yonga kimliğini doğrular,magnet_odrHz değerinde normal mod için yapılandırır ve fabrika düzeltme yazmaçlarını okur.busSensörün bağlı olduğu, yapılandırılmış bir
machine.I2Cveri yolu.csSPI modu için ayrılmıştır.
Noneolarak bırakılmalıdır; SPI şu anda uygulanmamıştır ve I2C olmayan bir veri yolu sağlamakValueErrorhatası oluşturur.addressAygıtın 7 bitlik I2C adresi. Varsayılan değer
0x10‘dur.magnet_odrHz cinsinden manyetometre çıktı veri hızı.
2,6,8,10,15,20,25veya30değerlerinden biri olmalıdır; başka herhangi bir değerValueErrorhatası oluşturur.