İçindekiler:
- Adım 1: BMG160'a Genel Bakış:
- Adım 2: İhtiyacınız Olan Şey..!
- Adım 3: Donanım Bağlantısı:
- Adım 4: 3 Eksenli Jiroskop Ölçümü Parçacık Kodu:
- Adım 5: Uygulamalar:
Video: 3 Eksenli Jiroskop Sensörü BMG160'ın Parçacıklı Ara Yüzü: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Günümüz dünyasında gençlerin ve çocukların yarısından fazlası oyun oynamayı seviyor ve oyun oynamanın teknik yönlerine hayran olan herkes bu alanda hareket algılamanın önemini biliyor. Biz de aynı şeye hayran kaldık ve sadece tahtalara getirmek için herhangi bir nesnenin açısal hızını ölçebilen bir jiroskop sensörü üzerinde çalışmayı düşündük. Yani, görevle başa çıkmak için aldığımız sensör BMG160. BMG160, açısal hızı üç dikey oda boyutunda ölçebilen 16 bit, dijital, üç eksenli bir jiroskop sensörüdür.
Bu eğitimde, BMG160'ın Particle Photon ile çalışmasını göstereceğiz.
Bu amaçla ihtiyaç duyacağınız donanımlar aşağıdaki gibidir:
1. BMG160
2. Parçacık fotonu
3. I2C Kablosu
4. Parçacık Fotonu için I2C Kalkanı
Adım 1: BMG160'a Genel Bakış:
Öncelikle BMG160 sensör modülünün temel özelliklerini ve üzerinde çalıştığı iletişim protokolünü tanımak isteriz.
BMG160 temel olarak açısal hızları ölçebilen 16 bitlik, dijital, üç eksenli bir jiroskop sensörüdür. Üç dik oda boyutunda, x-, y- ve z ekseninde açısal oranları hesaplayabilir ve karşılık gelen çıkış sinyallerini sağlayabilir. I2C iletişim protokolünü kullanarak ahududu pi kartı ile iletişim kurabilir. Bu özel modül, tüketici uygulamalarının yanı sıra endüstriyel amaçlar için gereksinimleri karşılamak üzere tasarlanmıştır.
Sensörün üzerinde çalıştığı iletişim protokolü I2C'dir. I2C, inter-entegre devre anlamına gelir. Haberleşmenin SDA(seri data) ve SCL(seri saat) hatları üzerinden gerçekleştiği bir haberleşme protokolüdür. Aynı anda birden fazla cihazın bağlanmasına izin verir. En basit ve en verimli iletişim protokollerinden biridir.
Adım 2: İhtiyacınız Olan Şey..!
Hedefimizi gerçekleştirmek için ihtiyaç duyduğumuz malzemeler aşağıdaki donanım bileşenlerini içerir:
1. BMG160
2. Parçacık Fotonu
3. I2C Kablosu
4. Parçacık Fotonu İçin I2C Kalkanı
Adım 3: Donanım Bağlantısı:
Donanım bağlantısı bölümü temel olarak sensör ve Parçacık arasında gerekli olan kablo bağlantılarını açıklar. İstenilen çıktı için herhangi bir sistem üzerinde çalışırken doğru bağlantıların sağlanması temel zorunluluktur. Yani, gerekli bağlantılar aşağıdaki gibidir:
BMG160, I2C üzerinden çalışacaktır. Sensörün her bir arayüzünün nasıl bağlanacağını gösteren örnek kablo şeması buradadır.
Kutudan çıktığı gibi, kart bir I2C arayüzü için yapılandırılmıştır, bu nedenle, aksi takdirde agnostik iseniz bu bağlantıyı kullanmanızı öneririz.
Tek ihtiyacınız olan dört tel! Vcc, Gnd, SCL ve SDA pinlerinden sadece dört bağlantı gereklidir ve bunlar I2C kablosu yardımıyla bağlanır.
Bu bağlantılar yukarıdaki resimlerde gösterilmiştir.
Adım 4: 3 Eksenli Jiroskop Ölçümü Parçacık Kodu:
Şimdi parçacık koduyla başlayalım.
Sensör modülünü arduino ile kullanırken application.h ve spark_wiring_i2c.h kütüphanesini dahil ediyoruz. "application.h" ve spark_wiring_i2c.h kitaplığı, sensör ve parçacık arasındaki i2c iletişimini kolaylaştıran işlevleri içerir.
Parçacık kodunun tamamı, kullanıcının rahatlığı için aşağıda verilmiştir:
#Dahil etmek
#Dahil etmek
// BMG160 I2C adresi 0x68(104)
#define Addr 0x68
int xGyro = 0, yGyro = 0, zGyro = 0;
geçersiz kurulum()
{
// Değişken ayarla
Particle.variable("i2ccihaz", "BMG160");
Particle.variable("xGyro", xGyro);
Particle.variable("yGyro", yGyro);
Particle.variable("zGyro", zGyro);
// I2C iletişimini MASTER olarak başlat
Wire.begin();
// Seri İletişimi Başlat
Seri.başla(9600);
// I2C İletimini Başlat
Wire.beginTransmission(Adr);
// Aralık kaydını seç
Wire.write(0x0F);
// Tam ölçekli 2000 dps'yi yapılandır
Wire.write(0x80);
// I2C İletimini Durdur
Wire.endTransmission();
// I2C İletimini Başlat
Wire.beginTransmission(Adr);
// Bant Genişliği kaydını seç
Wire.write(0x10);
// Bant Genişliğini Ayarla = 200 Hz
Wire.write(0x04);
// I2C İletimini Durdur
Wire.endTransmission();
gecikme(300);
}
boşluk döngüsü()
{
imzasız int veri[6];
// I2C İletimini Başlat
Wire.beginTransmission(Adr);
// Veri kaydını seç
Wire.write(0x02);
// I2C İletimini Durdur
Wire.endTransmission();
// 6 bayt veri iste
Wire.requestFrom(Adr, 6);
// 6 bayt veri oku
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb
if(Wire.available() == 6)
{
data[0] = Wire.read();
data[1] = Wire.read();
data[2] = Wire.read();
veri[3] = Wire.read();
veri[4] = Wire.read();
veri[5] = Wire.read();
}
gecikme(300);
// Verileri dönüştür
xGyro = ((veri[1] * 256) + veri[0]);
eğer (xGyro > 32767)
{
xGyro -= 65536;
}
yGyro = ((veri[3] * 256) + veri[2]);
eğer (yGyro > 32767)
{
yGyro -= 65536;
}
zGyro = ((veri[5] * 256) + veri[4]);
eğer (zGyro > 32767)
{
zGyro -= 65536;
}
// Gösterge tablosuna veri çıkışı
Particle.publish("X-Ekseni Dönme:", String(xGyro));
Particle.publish("Y-Ekseni Dönme:", String(yGyro));
Particle.publish("Z-Dönme Ekseni:", String(zGyro));
gecikme(1000);
}
Adım 5: Uygulamalar:
BMG160, cep telefonları, insan makine arayüz cihazları gibi cihazlarda çok çeşitli uygulamalara sahiptir. Bu sensör modülü, görüntü sabitleme (DSC ve kameralı telefon), oyun ve işaretleme cihazları gibi tüketici uygulamalarının gereksinimlerini karşılamak üzere tasarlanmıştır. Ayrıca jest tanıma gerektiren sistemlerde ve iç mekan navigasyonunda kullanılan sistemlerde kullanılır.
Önerilen:
Taş Lcd + İvme Jiroskop Sensörü: 5 Adım
Stone Lcd + Hızlanma Jiroskop Sensörü: Bu belge size bir STM32 MCU +MPU6050 ivmeölçer jiroskop sensörü +STONE STVC070WT DEMO için seri port ekranının nasıl kullanılacağını öğretecektir.STVC070WT firmamızın seri ekranıdır, gelişimi basit, kullanımı kolaydır , biz'e gidebilirsiniz
3 Eksenli Jiroskop Sensörü BMG160'ın Arduino Nano ile Arayüz Oluşturulması: 5 Adım
3 Eksenli Jiroskop Sensörü BMG160'ın Arduino Nano ile Arayüzlenmesi: Günümüz dünyasında gençlerin ve çocukların yarısından fazlası oyun oynamayı sever ve oyun oynamayı seven, oyunun teknik yönleriyle büyülenen herkes hareket algılamanın önemini bilir. bu etki alanında. Biz de aynı şeye şaşırdık ve
3 Eksenli Jiroskop Sensörü BMG160'ın Raspberry Pi ile Arayüz Oluşturulması: 5 Adım
3 Eksenli Jiroskop Sensörü BMG160'ın Raspberry Pi ile Arayüz Oluşturulması: Günümüz dünyasında gençlerin ve çocukların yarısından fazlası oyun oynamayı sever ve oyun oynamayı seven, oyunun teknik yönleriyle büyülenen herkes hareket algılamanın önemini bilir. bu etki alanında. Biz de aynı şeye şaşırdık ve
MPU6050-İvmeölçer+Jiroskop Sensörü Temelleri: 3 Adım
MPU6050-İvmeölçer+Jiroskop Sensörü Temelleri: MPU6050 çok kullanışlı bir sensördür. Mpu 6050 bir IMU'dur: Atalet ölçüm birimi (IMU), bir vücudun spesifik kuvvetini, açısal hızını ve bazen yönünü ölçen ve raporlayan elektronik bir cihazdır. vücudun, bir kombinasyon kullanarak
Arduino Bluetooth Robot Yüzü: 3 Adım
Arduino Bluetooth Robot Yüzü: Bu, 2 OLED'den ve bir akıllı telefondan bluetooth üzerinden kontrol edilen bir servodan oluşan bir robot yüzünün çok temel bir tasarımıdır. Bir robot üzerinde çalışıyorum ve onların yüz özelliklerini kontrol etmek için basit bir başlangıç geliştirmek istedim. d'yi görmek için bluetooth'u ekledim