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ə Particle Photon istifadə edərək bütün üç dik oxda sürətlənməni ölçəcəyik.
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. Foton hissəcikləri
3. I2C Kabeli
4. Partikül Fotonu üçün I2C Qalxanı
Addım 2: Hardware Bağlantısı:
Avadanlıq bağlama bölməsi əsasən sensor və hissəcik fotonu arasında lazım olan naqillərin ə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əni ölçmək üçün kod:
İndi hissəcik kodundan başlayaq.
Sensor modulunu arduino ilə işləyərkən application.h və spark_wiring_i2c.h kitabxanasını daxil edirik. "application.h" və spark_wiring_i2c.h kitabxanası, sensor və hissəcik arasındakı i2c əlaqəsini asanlaşdıran funksiyaları ehtiva edir.
İstifadəçinin rahatlığı üçün bütün hissəcik kodu aşağıda verilmişdir:
#daxil edin
#daxil edin
// BMA250 I2C ünvanı 0x18 (24)
#define Addr 0x18
int xAccl = 0, yAccl = 0, zAccl = 0;
boş quraşdırma ()
{
// Dəyişən təyin edin
Particle.variable ("i2cdevice", "BMA250");
Particle.variable ("xAccl", xAccl);
Particle.variable ("yAccl", yAccl);
Particle.variable ("zAccl", zAccl);
// I2C ünsiyyətini MASTER olaraq başladın
Wire.begin ();
// Serial ünsiyyəti işə salın, baud dərəcəsini = 9600 olaraq təyin edin
Serial.begin (9600);
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Aralıq seçimi qeydini seçin
Wire.write (0x0F);
// Aralığı +/- 2g təyin edin
Wire.write (0x03);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Bant genişliyi qeydini seçin
Wire.write (0x10);
// Bant genişliyini təyin edin 7.81 Hz
Wire.write (0x08);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
gecikmə (300);}
boşluq döngəsi ()
{
imzasız int data [0];
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Məlumat Qeydlərini seçin (0x02 - 0x07)
Wire.write (0x02);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// 6 bayt istəyin
Wire.requestFrom (Addr, 6);
// Altı baytı oxuyun
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
əgər (Tel.available () == 6)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
data [4] = Wire.read ();
data [5] = Wire.read ();
}
gecikmə (300);
// 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;
əgər (yAccl> 511)
{
yAccl -= 1024;
}
zAccl = ((data [5] * 256) + (data [4] & 0xC0)) / 64;
əgər (zAccl> 511)
{
zAccl -= 1024;
}
// Göstərişlər panelinə məlumat çıxarın
Particle.publish ("X Eksenində Sürətləndirmə:", String (xAccl));
gecikmə (1000);
Particle.publish ("Y Eksenində Sürətləndirmə:", String (yAccl));
gecikmə (1000);
Particle.publish ("Z Eksenində Sürətləndirmə:", String (zAccl));
gecikmə (1000);
}
Particle.variable () funksiyası sensorun çıxışını saxlamaq üçün dəyişənlər yaradır və Particle.publish () funksiyası saytın tablosuna çıxışı göstərir.
Sensor çıxışı istinad üçün 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ə:
MPU-6000 və hissəcik fotonundan istifadə edərək hərəkət izlənməsi: 4 addım
MPU-6000 və Partikül Fotonundan istifadə edərək Hərəkət İzləmə: MPU-6000, 3 Eksenli akselerometr və 3 Eksenli giroskopu olan 6 Eksenli Hərəkət İzləmə Sensorudur. Bu sensor, obyektin 3ölçülü müstəvidə dəqiq mövqeyini və yerini səmərəli izləməyə qadirdir. İstifadə oluna bilər
HMC5883 və hissəcik fotonundan istifadə edərək maqnit sahəsinin ölçülməsi: 4 addım
HMC5883 və Particle Photon istifadə edərək Maqnit Sahəsinin Ölçülməsi: HMC5883, aşağı sahə maqnit algılaması üçün hazırlanmış rəqəmsal bir kompasdır. Bu cihaz +/- 8 Oe geniş bir maqnit sahəsinə və 160 Hz çıxış sürətinə malikdir. HMC5883 sensoru avtomatik degaussing kəmər sürücüləri, ofset ləğvi və
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ə Raspberry Pi istifadə edərək sürətləndirmə ölçümü: 4 addım
BMA250 və Raspberry Pi-dən 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
ADT75 və hissəcik fotonundan istifadə edərək temperaturun ölçülməsi: 4 addım
ADT75 və Partikül Fotonundan istifadə edərək Temperaturun Ölçülməsi: ADT75 son dərəcə dəqiq, rəqəmsal bir temperatur sensoru. Temperaturun izlənməsi və rəqəmsallaşdırılması üçün bir bant boşluğu temperatur sensoru və 12 bitlik analoqdan rəqəmsal çeviricidən ibarətdir. Yüksək həssas sensoru onu mənə yetərincə bacarıqlı edir