Mündəricat:
- Addım 1: Lazım olan avadanlıq:
- Addım 2: Hardware Bağlantısı:
- Addım 3: Sürətləndirmə Ölçmə Arduino Kodu:
- Addım 4: Tətbiqlər:
Video: BMA250 və Arduino Nano istifadə edərək sürətləndirmə ölçümü: 4 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
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ə Arduino Nano istifadə edərək hər üç 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. Arduino Nano
3. I2C Kabeli
4. Arduino Nano üçün I2C Shield
Addım 2: Hardware Bağlantısı:
Donanım bağlama bölməsi əsasən sensor və arduino 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ə Ölçmə Arduino Kodu:
İndi Arduino kodu ilə başlayaq.
Sensor modulunu Arduino ilə birlikdə istifadə edərkən Wire.h kitabxanasına daxil oluruq. "Tel" kitabxanası, sensor və Arduino lövhəsi arasındakı i2c əlaqəsini asanlaşdıran funksiyaları ehtiva edir.
İstifadəçinin rahatlığı üçün bütün Arduino kodu aşağıda verilmişdir:
#daxil edin
// BMA250 I2C ünvanı 0x18 (24)
#define Addr 0x18
boş quraşdırma ()
{
// I2C ünsiyyətini MASTER olaraq başladın
Wire.begin ();
// Serial Rabitəni Başlatı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
float xAccl = ((data [1] * 256.0) + (data [0] & 0xC0)) / 64;
əgər (xAccl> 511)
{
xAccl -= 1024;
}
float yAccl = ((data [3] * 256.0) + (data [2] & 0xC0)) / 64;
əgər (yAccl> 511)
{
yAccl -= 1024;
}
float zAccl = ((data [5] * 256.0) + (data [4] & 0xC0)) / 64;
əgər (zAccl> 511)
{
zAccl -= 1024;
}
// Serial monitora məlumat çıxarmaq
Serial.print ("X-Eksenində Sürətləndirmə:");
Serial.println (xAccl);
Serial.print ("Y Eksenində Sürətləndirmə:");
Serial.println (yAccl);
Serial.print ("Z Eksenində Sürətləndirmə:");
Serial.println (zAccl);
}
Tel kitabxanasında Wire.write () və Wire.read () əmrləri yazmaq və sensor çıxışını oxumaq üçün istifadə olunur. Sensor çıxışını Arduino IDE -nin serial monitorunda göstərmək üçün Serial.print () və Serial.println () istifadə olunur.
Sensor çı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ə:
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: 4 addım
Arduino istifadə edərək İnternetdən istifadə edərək bütün dünyanı idarə et: Salam, mən Rithikəm. Telefonunuzdan istifadə edərək internetə nəzarət edən bir led quracağıq. Arduino IDE və Blynk kimi proqramlardan istifadə edəcəyik. Bu çox sadədir və uğur qazansanız istədiyiniz qədər elektron komponenti idarə edə bilərsiniz
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar - Mikrokontrolördən istifadə edərək bir Quadcopter hazırlayın: 8 addım (şəkillərlə)
Arduino UNO istifadə edərək pilotsuz təyyarə necə etmək olar | Mikrokontrolördən istifadə edərək Quadcopter hazırlayın: Giriş Youtube Kanalımı Ziyarət Edin Drone almaq üçün çox bahalı bir gadget (məhsul) təşkil edir. Bu yazıda necə ucuz satacağımı müzakirə edəcəyəm? Ucuz qiymətə öz əlinizlə bunu necə edə bilərsiniz … Yaxşı Hindistanda bütün materiallar (mühərriklər, ESClə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
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
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