Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-23 12:54
BMA250, kiçik, nazik, ultralow gücü, ± 16 q-a qədər yüksək qətnamə (13 bit) ölçüsü olan 3 oxlu akselerometrdir. Rəqəmsal çıxış məlumatları 16 bitlik ikili tamamlayıcı olaraq formatlanır və I2C rəqəmsal interfeysi vasitəsilə əldə edilə bilər. Tilt algılama tətbiqlərində cazibənin statik sürətlənməsini, həmçinin hərəkət və ya şok nəticəsində yaranan dinamik sürətlənməni ölçür. Yüksək qətnaməsi (3.9 mg/LSB), meyl dəyişikliklərinin 1.0 ° -dən aşağı ölçülməsinə imkan verir.
Bu təlimatda BMA250 və Raspberry Pi istifadə edərək hər üç dik oxda sürətlənməni ölçəcəyik. Sensor python dilində proqramlaşdırılmışdır.
Addım 1: Lazım olan avadanlıq:
Məqsədimizə çatmaq üçün ehtiyacımız olan materiallar aşağıdakı aparat komponentlərindən ibarətdir:
1. BMA250
2. Moruq Pi
3. I2C Kabeli
4. Raspberry Pi üçün I2C Shield
5. Ethernet Kabeli
Addım 2: Hardware Bağlantısı:
Avadanlıq bağlama bölməsi əsasən sensor və moruq pi arasında lazım olan tel əlaqələrini izah edir. İstənilən çıxış üçün hər hansı bir sistem üzərində işləyərkən düzgün əlaqələrin təmin edilməsi əsas zərurətdir. Beləliklə, zəruri əlaqələr aşağıdakılardır:
BMA250 I2C üzərində işləyəcək. Sensorun hər bir interfeysini necə bağlayacağınızı göstərən nümunə naqillər diaqramı.
Qutudan kənarda, lövhə I2C interfeysi üçün konfiqurasiya olunmuşdur, buna görə də başqa cür agnostiksinizsə bu əlaqəni istifadə etməyi məsləhət görürük. Lazım olan tək şey dörd teldir!
Vcc, Gnd, SCL və SDA pinləri üçün yalnız dörd əlaqə lazımdır və bunlar I2C kabelinin köməyi ilə bağlanır.
Bu əlaqələr yuxarıdakı şəkillərdə göstərilmişdir.
Addım 3: Sürətləndirmə Ölçmə üçün Python Kodu:
Moruq pi istifadə etmənin üstünlüyü, sensoru onunla əlaqələndirmək üçün lövhəni proqramlaşdırmaq istədiyiniz proqramlaşdırma dilinin rahatlığını təmin edir. Bu lövhənin bu üstünlüyündən istifadə edərək burada pythonda proqramlaşdırmasını nümayiş etdiririk. Python, ən asan sintaksisi olan ən asan proqramlaşdırma dillərindən biridir. BMA250 üçün python kodu, Dcube Store olan GitHub cəmiyyətimizdən yükləyə bilərsiniz
İstifadəçilərin rahatlığı üçün, kodu da burada izah edirik:
Kodlaşdırmanın ilk addımı olaraq, python vəziyyətində SMBus kitabxanasını yükləməlisiniz, çünki bu kitabxana kodda istifadə olunan funksiyaları dəstəkləyir. Beləliklə, kitabxananı yükləmək üçün aşağıdakı linkə daxil ola bilərsiniz:
pypi.python.org/pypi/smbus-cffi/0.5.1
İş kodunu buradan da kopyalaya bilərsiniz:
smbus idxal edin
idxal vaxtı
# I2C avtobusunu alın = smbus. SMBus (1)
# BMA250 ünvanı, 0x18 (24)
# Aralıq seçim qeydini seçin, 0x0F (15)
# 0x03 (03) Aralığı təyin et = +/- 2gbus.write_byte_data (0x18, 0x0F, 0x03)
# BMA250 ünvanı, 0x18 (24)# Bant genişliyi qeydini seçin, 0x10 (16)
# 0x08 (08) Bant genişliyi = 7.81 Hzbus.write_byte_data (0x18, 0x10, 0x08)
vaxt.yuxu (0.5)
# BMA250 ünvanı, 0x18 (24)
# 0x02 (02), 6 baytdan məlumatları geri oxuyun
# X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB
data = bus.read_i2c_block_data (0x18, 0x02, 6)
# Məlumatı 10 bitə çevirin
xAccl = (data [1] * 256 + (data [0] & 0xC0)) / 64
əgər xAccl> 511:
xAccl -= 1024
yAccl = (data [3] * 256 + (data [2] & 0xC0)) / 64
yAccl> 511 olarsa:
yAccl -= 1024
zAccl = (data [5] * 256 + (data [4] & 0xC0)) / 64
zAccl> 511 olarsa:
zAccl -= 1024
# Ekrana məlumat çıxarın
çap "X Eksenində Sürətləndirmə: % d" % xAccl
çap "Y Eksenində Sürətləndirmə: % d" % yAccl
çap "Z Eksenində Sürətləndirmə: % d" % zAccl
Kod aşağıdakı əmrdən istifadə etməklə yerinə yetirilir:
$> python BMA250.py gt; python BMA250.py
İstifadəçinin məlumatı üçün sensorun çıxışı yuxarıdakı şəkildə göstərilmişdir.
Addım 4: Tətbiqlər:
BMA250 kimi akselerometrlər əsasən tətbiqini oyunlarda tapır və profil dəyişməsini göstərir. Bu sensor modulu mobil tətbiqlər üçün inkişaf etmiş güc idarəetmə sistemində də istifadə olunur. BMA250, ağıllı bir çip üzərində hərəkətə səbəb olan kəsmə nəzarət cihazı ilə birləşdirilmiş üç eksenli rəqəmsal sürətləndirmə sensoru.
Tövsiyə:
Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək sürətlənməni izləyin: 6 addım
Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək Sürətləndirməni izləyin: Sürətləndirmə sonsuzdur, düşünürəm ki, Fizikanın bəzi qanunlarına görə. Sahilə çıxan ən sürətli məxluq, bir anda ən yüksək sürətindən istifadə edərək ovunu tutur
BMA250 və Arduino Nano istifadə edərək sürətləndirmə ölçümü: 4 addım
BMA250 və Arduino Nano istifadə edərək Sürət Ölçmə: BMA250, kiçik, nazik, ultralow güc, ± 16 g-ə qədər yüksək qətnamə (13 bit) ölçmə ilə 3 oxlu akselerometrdir. Rəqəmsal çıxış məlumatları 16 bitlik ikili tamamlayıcı olaraq formatlanır və I2C rəqəmsal interfeysi vasitəsilə əldə edilə bilər. Statik ölçür
BMA250 və hissəcik fotonundan istifadə edərək sürətləndirmə ölçümü: 4 addım
BMA250 və Partikül Fotonundan istifadə edərək Sürət Ölçmə: BMA250, kiçik, nazik, ultralow güc, ± 16 q-a qədər yüksək qətnamə (13 bit) ölçmə ilə 3 oxlu akselerometrdir. Rəqəmsal çıxış məlumatları 16 bitlik ikili tamamlayıcı olaraq formatlanır və I2C rəqəmsal interfeysi vasitəsilə əldə edilə bilər. Statik ölçür
HTS221 və Particle Photon istifadə edərək Nəmlik və Temperatur Ölçümü: 4 Addım
HTS221 və Particle Photon istifadə edərək Nəmlik və Temperatur Ölçmə: HTS221 nisbi rütubət və temperatur üçün ultra kompakt bir kapasitiv rəqəmsal sensordur. Ölçmə məlumatlarını rəqəmsal serial vasitəsilə təmin etmək üçün bir hissedici element və qarışıq siqnal tətbiqinə xüsusi inteqrasiya edilmiş dövrə (ASIC) daxildir
Python istifadə edərək Raspberry Pi və MMA7455 ilə Sürətləndirmə Variasiyalarının İzlənməsi: 6 Addım
Python istifadə edərək Raspberry Pi və MMA7455 ilə Sürətləndirmə Variasiyalarının İzlənməsi: Açılmamışam, cazibə qüvvəsini sınamışam. Hələ də işləyir … Sürətlənən kosmik gəminin nümayişi, mekikatın ən yüksək nöqtəsindəki bir saatın qravitasiya müddətinin genişlənməsi səbəbindən bazada bir saatdan daha sürətli olduğunu aydınlaşdırdı. Bəzi