İçindekiler:
Video: Raspberry Pi MMA8452Q 3-Eksen 12-bit/8-bit Dijital İvmeölçer Python Eğitimi: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
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 python 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 python kodu github depomuzdan indirilebilir - ControlEverythingCommunity
Bağlantı burada.
Python kodu için SMBus kütüphanesini kullandık, raspberry pi'ye SMBus kurma adımları burada açıklanmıştır:
pypi.python.org/pypi/smbus-cffi/0.5.1
Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:
# Özgür irade lisansıyla dağıtılır.
# İlgili eserlerinin lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın.
# MMA8452Q
# Bu kod, MMA8452Q_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.
smbus'u içe aktar
ithalat zamanı
# I2C veri yolunu alın
veri yolu = smbus. SMBus(1)
# MMA8452Q adresi, 0x1C(28)
# Kontrol kaydı seçin, 0x2A(42)
# 0x00(00) Bekleme modu
bus.write_byte_data(0x1C, 0x2A, 0x00)
# MMA8452Q adresi, 0x1C(28)
# Kontrol kaydı seçin, 0x2A(42)
# 0x01(01) Aktif mod
bus.write_byte_data(0x1C, 0x2A, 0x01)
# MMA8452Q adresi, 0x1C(28)
# Konfigürasyon kaydını seçin, 0x0E(14)
# 0x00(00) Aralığı +/- 2g olarak ayarla
bus.write_byte_data(0x1C, 0x0E, 0x00)
zaman.uyku(0.5)
# MMA8452Q adresi, 0x1C(28)
# 0x00(0), 7 bayttan veriyi geri oku
# Durum kaydı, X Ekseni MSB, X Ekseni LSB, Y Ekseni MSB, Y Ekseni LSB, Z Ekseni MSB, Z Ekseni LSB
veri = bus.read_i2c_block_data(0x1C, 0x00, 7)
# Verileri dönüştürün
xAccl = (veri[1] * 256 + veri[2]) / 16
xAccl > 2047 ise:
xAccl -= 4096
yAccl = (veri[3] * 256 + veri[4]) / 16
yAccl > 2047 ise:
yAccl -= 4096 z
Accl = (veri[5] * 256 + veri[6]) / 16
zAccl > 2047 ise:
zAccl -= 4096
# Ekrana veri çıkışı
print "X Ekseninde Hızlanma: %d" %xAccl
print "Y Ekseninde Hızlanma: %d" %yAccl
print "Z-Ekseninde Hızlanma: %d" %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 - 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
Raspberry Pi - BH1715 Dijital Ortam Işığı Sensörü Python Eğitimi: 4 Adım
Raspberry Pi - BH1715 Dijital Ortam Işığı Sensörü Python 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
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 - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Python Eğitimi: 4 Adım
Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Python 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. Bir vekil