bmm150 --- مقياس مغناطيسي ثلاثي المحاور BMM150¶
مشغّل للمستشعر الجيومغناطيسي ثلاثي المحاور 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_odrHz وقراءة سجلات الضبط الدقيق المصنعية.busناقل
machine.I2Cمهيأ يكون المستشعر متصلاً به.csمحجوز لوضع SPI. يجب أن يُترك على القيمة
None؛ فوضع SPI غير منفّذ حالياً وتمرير ناقل غير I2C يثيرValueError.addressعنوان I2C ذو 7 بتات للجهاز. القيمة الافتراضية هي
0x10.magnet_odrمعدل بيانات إخراج المقياس المغناطيسي بوحدة Hz. يجب أن يكون أحد القيم
2أو6أو8أو10أو15أو20أو25أو30؛ وأي قيمة أخرى تثيرValueError.