Mündəricat:
- Addım 1: BMG160 Baxış:
- Addım 2: Nə Lazımdır..
- Addım 3: Hardware Bağlantısı:
- Addım 4: 3 Eksenli Giroskop Ölçmə Partikül Kodu:
- Addım 5: Tətbiqlər:
Video: 3 Eksenli BMG160 hissəcikli giroskop sensoru ilə əlaqə: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Müasir dünyada, gənclərin və uşaqların yarıdan çoxu oyuna həvəs göstərir və oyunun texniki cəhətlərinə heyran olanların hamısı bu sahədə hərəkət algılamanın əhəmiyyətini bilir. Eyni şey bizi heyrətləndirdi və lövhələrə qoymaq üçün hər hansı bir cismin bucaq sürətini ölçə bilən bir giroskop sensoru üzərində işləməyi düşündük. Beləliklə, vəzifəni həll etmək üçün götürdüyümüz sensor BMG160 -dır. BMG160, 16 bitlik, rəqəmsal, üç eksenli, giroskoplu bir sensordur ki, bucaq dərəcəsini üç perpendikulyar otaq ölçülərində ölçə bilər.
Bu təlimatda BMG160 -ın Particle Photon ilə işini nümayiş etdirəcəyik.
Bu məqsədlə ehtiyac duyacağınız avadanlıq aşağıdakılardır:
1. BMG160
2. Parçacıq fotonu
3. I2C Kabeli
4. Partikül Fotonu üçün I2C Qalxanı
Addım 1: BMG160 Baxış:
Əvvəlcə BMG160 sensor modulunun əsas xüsusiyyətləri və işlədiyi ünsiyyət protokolu ilə tanış olmaq istərdik.
BMG160, əsasən açısal dərəcələri ölçə bilən 16 bitlik, rəqəmsal, üç eksenli, giroskop sensordur. Üç dik otaq ölçülərində, x-, y- və z-oxunda bucaq dərəcələrini hesablaya və müvafiq çıxış siqnallarını təmin edə bilir. I2C rabitə protokolundan istifadə edərək moruq pi lövhəsi ilə əlaqə qura bilər. Bu xüsusi modul, istehlakçı tətbiqləri və sənaye məqsədləri üçün tələblərə cavab vermək üçün hazırlanmışdır.
Sensorun işlədiyi rabitə protokolu I2C -dir. I2C, inteqrasiya edilmiş dövrəni ifadə edir. SDA (serial məlumat) və SCL (serial saat) xətləri vasitəsi ilə ünsiyyətin qurulduğu bir ünsiyyət protokoludur. Eyni anda birdən çox cihazı birləşdirməyə imkan verir. Ən sadə və ən təsirli ünsiyyət protokollarından biridir.
Addım 2: Nə Lazımdır..
Məqsədimizə çatmaq üçün ehtiyacımız olan materiallar aşağıdakı aparat komponentlərindən ibarətdir:
1. BMG160
2. Foton hissəcikləri
3. I2C Kabeli
4. Partikül Foton üçün I2C Qalxanı
Addım 3: Hardware Bağlantısı:
Avadanlıq bağlama bölməsi əsasən sensor və hissəcik 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:
BMG160 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 4: 3 Eksenli Giroskop Ölçmə Partikül Kodu:
İ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
// BMG160 I2C ünvanı 0x68 (104)
#define Addr 0x68
int xGyro = 0, yGyro = 0, zGyro = 0;
boş quraşdırma ()
{
// Dəyişən təyin edin
Particle.variable ("i2cdevice", "BMG160");
Particle.variable ("xGyro", xGyro);
Particle.variable ("yGyro", yGyro);
Particle.variable ("zGyro", zGyro);
// I2C ünsiyyətini MASTER olaraq başladın
Wire.begin ();
// Serial Ünsiyyətə Başlayın
Serial.begin (9600);
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Aralıq qeydini seçin
Wire.write (0x0F);
// Tam miqyaslı 2000 dps konfiqurasiya edin
Wire.write (0x80);
// 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şliyi = 200 Hz seçin
Wire.write (0x04);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
gecikmə (300);
}
boşluq döngəsi ()
{
imzasız int məlumatları [6];
// I2C ötürülməsinə başlayın
Wire.beginTransmission (Addr);
// Məlumat qeydini seçin
Wire.write (0x02);
// I2C ötürülməsini dayandırın
Wire.endTransmission ();
// 6 bayt məlumat tələb edin
Wire.requestFrom (Addr, 6);
// 6 bayt məlumat oxuyun
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro 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əlumatları çevirin
xGyro = ((məlumat [1] * 256) + məlumat [0]);
əgər (xGyro> 32767)
{
xGyro -= 65536;
}
yGyro = ((məlumat [3] * 256) + məlumat [2]);
əgər (yGyro> 32767)
{
yGyro -= 65536;
}
zGyro = ((məlumat [5] * 256) + məlumat [4]);
əgər (zGyro> 32767)
{
zGyro -= 65536;
}
// Göstərişlər panelinə məlumat çıxarın
Particle.publish ("Dönmə X Ekseni:", String (xGyro));
Particle.publish ("Fırlanma Y Ekseni:", String (yGyro));
Particle.publish ("Z-Fırlanma Ekseni:", String (zGyro));
gecikmə (1000);
}
Addım 5: Tətbiqlər:
BMG160, cib telefonları, insan maşın interfeysi cihazları kimi cihazlarda çox sayda tətbiqə malikdir. Bu sensor modulu, görüntü sabitləşdirmə (DSC və kamera-telefon), oyun və işarə cihazları kimi istehlakçı tətbiqləri üçün tələbləri ödəmək üçün hazırlanmışdır. Jest tanıma tələb edən sistemlərdə və daxili naviqasiyada istifadə olunan sistemlərdə də istifadə olunur.
Tövsiyə:
Arduino Nano ilə 3 Eksenli BMG160 Giroskop Sensorunun Arası: 5 Addım
3 Eksenli BMG160 Sensorunun Arduino Nano ilə Qarşılaşması: Müasir dünyada gənclərin və uşaqların yarıdan çoxu oyunu sevir və oyunun texniki cəhətləri ilə maraqlananların hamısı hərəkət algılamanın əhəmiyyətini bilir. bu sahədə. Eyni şey bizi heyrətləndirdi
Raspberry Pi ilə BMG160 3 Eksenli Giroskop Sensorunun Arası: 5 Addım
3 Eksenli BMG160 Sensorunun Raspberry Pi ilə Qarşılaşması: Müasir dünyada gənclərin və uşaqların yarıdan çoxu oyunu sevir və oyunun texniki cəhətlərinə heyran olanların hamısı hərəkət algılamanın əhəmiyyətini bilir. bu sahədə. Eyni şey bizi heyrətləndirdi
Uzun Mesafe, 1.8km, Arduino-dan Arduino ilə HC-12 ilə Simsiz Əlaqə: 6 Addım (Şəkillərlə)
Uzun məsafə, 1.8km, Arduino-dan Arduino-ya HC-12 ilə Simsiz Əlaqə: Bu təlimatda Arduinos arasında 1.8km-ə qədər açıq havada necə ünsiyyət qurmağı öyrənəcəksiniz. HC-12 simsiz serial portudur. çox faydalı, son dərəcə güclü və istifadəsi asan olan ünsiyyət modulu. Əvvəlcə sızlayacaqsınız
Dragonboard-410c ilə Alexa ilə necə qarşılıqlı əlaqə qurmaq olar: 5 addım
Alexa ilə Dragonboard-410c ilə necə qarşılıqlı əlaqə qurmaq olar: Bu təlimatla Alexa-nı Dragonboard-410c-də necə yerləşdirməyi öyrənəcəksiniz. Başlamazdan əvvəl sizə lazım olan bəzi məhsulları təqdim edək: Alexa Səs Xidməti (AVS) - Cihazlarınızla danışmağı mümkün edir, bulud əsaslı alexa -ya daxil ola bilərsiniz
Arduino MEGA ilə RFID-RC522 ilə əlaqə qurmaq sadə bir eskiz: 4 addım
Arduino MEGA ilə sadə bir eskiz ilə RFID-RC522-nin qarşılıqlı əlaqəsi: Hai bu təlimatda RFID-ni oxumaq və məlumatları Serial Monitorda göstərmək üçün Arduino Mega 2560 ilə RFID-RC522-ni birləşdirməkdə sizə kömək edəcəyəm. Buna görə də bunu təkbaşına genişləndirə bilərsiniz: Arduino Mega və ya Arduino Uno