İçindekiler:
Video: Raspberry Pi MMA8452Q 3-Eksen 12-bit/8-bit Dijital İvmeölçer Java Eğitimi: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
MMA8452Q, 12 bit çözünürlüğe sahip akıllı, düşük güçlü, üç eksenli, kapasitif, mikro makinede işlenmiş bir ivmeölçerdir. İvmeölçerdeki yerleşik fonksiyonların yardımıyla, iki kesme pinine yapılandırılabilen esnek, kullanıcı tarafından programlanabilen seçenekler sunulur. Kullanıcı tarafından seçilebilen ±2g/±4g/±8g tam ölçeklere sahip olup, yüksek geçişli filtre filtreli veriler ve filtrelenmemiş veriler gerçek zamanlı olarak mevcuttur. İşte java kodunu kullanarak ahududu pi ile gösterimi.
Adım 1: İhtiyacınız Olan Şey..!
1. Ahududu Pi
2. MMA8452Q
3. I²C Kablosu
4. Raspberry Pi için I²C Kalkanı
5. Ethernet Kablosu
Adım 2: Bağlantılar:
Ahududu pi için bir I2C kalkanı alın ve ahududu pi'nin gpio pimlerinin üzerine hafifçe itin.
Ardından I2C kablosunun bir ucunu MMA8452Q sensörüne ve diğer ucunu I2C blendajına bağlayın.
Ayrıca Ethernet kablosunu pi'ye bağlayın veya bir WiFi modülü kullanabilirsiniz.
Bağlantılar yukarıdaki resimde gösterilmiştir.
Adım 3: Kod:
MMA8452Q için Java kodu GitHub depomuzdan indirilebilir - Dcube Store
İşte aynısı için bağlantı:
github.com/DcubeTechVentures/MMA8452Q
Java kodu için pi4j kütüphanesini kullandık, pi4j'yi ahududu pi'ye kurma adımları burada açıklanmıştır:
pi4j.com/install.html
Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:
// Özgür irade lisansıyla dağıtılır.
// İlişkili çalışmalarının lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın.
// MMA8452Q
// Bu kod, Dcube Store'da bulunan MMA8452Q_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.
com.pi4j.io.i2c. I2CBus'u içe aktarın;
com.pi4j.io.i2c. I2CDevice'ı içe aktarın;
com.pi4j.io.i2c. I2CFFactory'yi içe aktarın;
java.io. IOException'ı içe aktarın;
genel sınıf MMA8452Q
{
public static void main(String args) İstisna atar
{
// I2C veri yolu oluştur
I2CBus veri yolu = I2CFactory.getInstance(I2CBus. BUS_1);
// I2C cihazını al, MMA8452Q I2C adresi 0x1C(28)
I2CDevice cihazı = bus.getDevice(0x1C);
// Bekleme komutu gönder
device.write(0x2A, (bayt)0x00);
// Aktif komut gönder
device.write(0x2A, (bayt)0x01);
// Aralığı +/-2g'ye ayarla
device.write(0x0E, (bayt)0x00);
thread.sleep(500);
// 0x00(0) adresinden 7 bayt veri oku
// Durum, X msb, X lsb, Y msb, Y lsb, Z msb, Z lsb
bayt veri = yeni bayt[7];
device.read(0x00, veri, 0, 7);
// Değerleri dönüştür
int xAccl = (((veri[1] & 0xFF) * 256) + (veri[2] & 0xFF)) / 16;
eğer (xAccl > 2047)
{
xAccl = xAccl - 4096;
}
int yAccl = (((veri[3] & 0xFF) * 256) + (veri[4] & 0xFF)) / 16;
if (yAccl > 2047)
{
yAccl = yAccl - 4096;
}
int zAccl = (((veri[5] & 0xFF) * 256) + (veri[6] & 0xFF)) / 16;
if (zAccl > 2047)
{
zAccl = zAccl - 4096;
}
// Ekrana veri çıktısı
System.out.printf("X Ekseni: %d %n", xAccl);
System.out.printf("Y Ekseni: %d %n", yAccl);
System.out.printf("Z-Ekseni: %d %n", zAccl);
}
}
Adım 4: Uygulamalar:
MMA8452Q, E-Pusula uygulamaları, Dikey/Yatay, Yukarı/Aşağı, Sol/Sağ, Arka/Ön konum tanımlama, Dizüstü Bilgisayar, e-okuyucu ve Dizüstü Bilgisayar Düşme ve Serbest Düşme Algılamayı içeren Statik yön algılama, Gerçek zamanlı gibi çeşitli uygulamalara sahiptir. sanal gerçeklik ve oyun 3D kullanıcı konumu geri bildirimi dahil oryantasyon algılama, pedometre adım sayma gibi gerçek zamanlı etkinlik analizi, HDD için serbest düşüş algılama, ölü hesaplama GPS yedekleme ve çok daha fazlası.
Önerilen:
Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Java Eğitimi: 4 Adım
Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Java Eğitimi: TMD26721, tek bir 8 pimli yüzeye montaj modülünde eksiksiz bir yakınlık algılama sistemi ve dijital arayüz mantığı sağlayan bir kızılötesi dijital yakınlık dedektörüdür. Yakınlık algılama, gelişmiş sinyal-gürültü ve kesinlik. Profesyonel
Raspberry Pi - ADXL345 3 Eksenli İvmeölçer Python Eğitimi: 4 Adım
Raspberry Pi - ADXL345 3 Eksenli İvmeölçer Python Eğitimi: ADXL345, ±16 g'a kadar yüksek çözünürlüklü (13-bit) ölçüme sahip küçük, ince, ultra düşük güçlü, 3 eksenli bir ivmeölçerdir. Dijital çıkış verileri, 16 bitlik ikili tamamlayıcı olarak biçimlendirilir ve I2 C dijital arabirimi aracılığıyla erişilebilir. Bunu ölçer
Arduino İvmeölçer Eğitimi: Servo Motor Kullanarak Bir Gemi Köprüsünü Kontrol Edin: 5 Adım
Arduino İvmeölçer Eğitimi: Bir Servo Motor Kullanarak Bir Gemi Köprüsünü Kontrol Edin: İvmeölçer sensörleri, artık akıllı telefonlarımızın çoğunda, sorumlu olanın ivmeölçer olduğunu bile bilmeden, onlara günlük olarak kullandığımız çok çeşitli kullanım ve yetenekler vermek için bulunmaktadır. Bu yeteneklerden biri de kontrol edilebilir
CubeSat İvmeölçer Eğitimi: 6 Adım
CubeSat İvmeölçer Eğitimi: Bir küpsat, 10x10x10 cm küp birimlerin katlarından ve birim başına 1,33 kilogramdan fazla olmayan bir kütleden oluşan, uzay araştırmaları için bir tür minyatürleştirilmiş uydudur. Küpler, çok sayıda uydunun uzaya gönderilmesini sağlar ve tüm
Raspberry Pi - BH1715 Dijital Ortam Işığı Sensörü Java Eğitimi: 4 Adım
Raspberry Pi - BH1715 Dijital Ortam Işığı Sensörü Java Eğitimi: BH1715, I²C veri yolu arayüzüne sahip bir dijital Ortam Işığı Sensörüdür. BH1715, mobil cihazlar için LCD ve Tuş Takımı arka ışık gücünü ayarlamak için ortam ışığı verilerini elde etmek için yaygın olarak kullanılır. Bu cihaz, 16 bit çözünürlük ve bir ayar