İçindekiler:
Video: Raspberry Pi - ADXL345 3 Eksenli İvmeölçer Python Eğitimi: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
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. Eğim algılama uygulamalarında yerçekiminin statik ivmesini ve ayrıca hareket veya şoktan kaynaklanan dinamik ivmeyi ölçer. Yüksek çözünürlüğü (3,9 mg/LSB), 1.0°'den daha düşük eğim değişikliklerinin ölçülmesini sağlar. İşte python kodunu kullanarak ahududu pi ile gösteri.
Adım 1: İhtiyacınız Olan Şey..!
1. Ahududu Pi
2. ADXL345
3. I²C Kablosu
4. Raspberry Pi için I²C Kalkanı
5. Ethernet Kablosu
Adım 2: Bağlantı:
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 ADXL345 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:
ADXL345 için python kodu GitHub depomuzdan indirilebilir - Dcube Store
İşte aynısı için bağlantı:
github.com/DcubeTechVentures/ADXL345..
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.
# ADXL345
# Bu kod, Dcube Store'da bulunan ADXL345_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)
# ADXL345 adresi, 0x53(83)
# Bant genişliği oranı kaydı seçin, 0x2C(44)# 0x0A(10) Normal mod, Çıkış veri hızı = 100 Hz
bus.write_byte_data(0x53, 0x2C, 0x0A)
# ADXL345 adresi, 0x53(83)
# Güç kontrol kaydını seçin, 0x2D(45)
# 0x08(08) Otomatik Uyku devre dışı
bus.write_byte_data(0x53, 0x2D, 0x08)
# ADXL345 adresi, 0x53(83)
# Veri formatı kaydı seçin, 0x31(49)
# 0x08(08) Kendi kendine test devre dışı, 4 kablolu arayüz
# Tam çözünürlük, Aralık = +/-2g
bus.write_byte_data(0x53, 0x31, 0x08)
zaman.uyku(0.5)
# ADXL345 adresi, 0x53(83)
# 0x32(50), 2 bayttan veriyi geri oku
# X Ekseni LSB, X Ekseni MSB
data0 = bus.read_byte_data(0x53, 0x32)
data1 = bus.read_byte_data(0x53, 0x33)
# Veriyi 10 bit'e dönüştürün
xAccl = ((veri1 ve 0x03) * 256) + veri0
xAccl > 511 ise:
xAccl -= 1024
# ADXL345 adresi, 0x53(83)
# 0x34(52), 2 bayttan veriyi geri oku
# Y Ekseni LSB, Y Ekseni MSB
data0 = bus.read_byte_data(0x53, 0x34)
veri1 = bus.read_byte_data(0x53, 0x35)
# Veriyi 10 bit'e dönüştürün
yAccl = ((veri1 ve 0x03) * 256) + veri0
yAccl > 511 ise:
yAccl -= 1024
# ADXL345 adresi, 0x53(83)
# 0x36(54), 2 bayttan veriyi geri oku
# Z Ekseni LSB, Z Ekseni MSB
data0 = bus.read_byte_data(0x53, 0x36)
data1 = bus.read_byte_data(0x53, 0x37)
# Veriyi 10 bit'e dönüştürün
zAccl = ((veri1 ve 0x03) * 256) + veri0
zAccl > 511 ise:
zAccl -= 1024
# 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:
ADXL345, Ahizelerde, Tıbbi enstrümantasyonda vb. kullanılabilecek küçük, ince, ultra düşük güçlü, 3 eksenli bir ivmeölçerdir. Uygulaması ayrıca Oyun ve işaretleme cihazları, Endüstriyel enstrümantasyon, Kişisel navigasyon cihazları ve Sabit disk sürücüsü (HDD) korumasını içerir.
Önerilen:
Arduino Nano - MMA8452Q 3-Eksen 12-bit/8-bit Dijital İvmeölçer Eğitimi: 4 Adım
Arduino Nano - MMA8452Q 3-Eksenli 12-bit/8-bit Dijital İvmeölçer Eğitimi: MMA8452Q, 12 bit çözünürlüğe sahip akıllı, düşük güçlü, üç eksenli, kapasitif, mikro işlenmiş bir ivmeölçerdir. İvmeölçerdeki yerleşik fonksiyonların yardımıyla, iki kesintiye yapılandırılabilen esnek, kullanıcı tarafından programlanabilen seçenekler sunulur
Raspberry Pi MMA8452Q 3-Eksen 12-bit/8-bit Dijital İvmeölçer Python Eğitimi: 4 Adım
Raspberry Pi MMA8452Q 3-Eksenli 12-bit/8-bit Dijital İvmeölçer Python Eğitimi: MMA8452Q, 12 bit çözünürlüğe sahip akıllı, düşük güçlü, üç eksenli, kapasitif, mikro-işlenmiş ivmeölçerdir. İvmeölçerdeki yerleşik fonksiyonların yardımıyla, iki kesintiye yapılandırılabilen esnek, kullanıcı tarafından programlanabilen seçenekler sunulur
Raspberry Pi ve LIS3DHTR ile Hareket Kontrolü, 3 Eksenli İvmeölçer, Python Kullanarak: 6 Adım
Raspberry Pi ve LIS3DHTR ile Hareket Kontrolü, 3 Eksenli İvmeölçer, Python Kullanarak: Güzellik etrafımızı sarar, ancak genellikle bunu bilmek için bir bahçede yürüyor olmamız gerekir. - Rumi Göründüğümüz gibi eğitimli bir grup olarak, enerjimizin büyük çoğunluğunu bilgisayarlarımızdan ve cep telefonlarımızdan önce çalışarak harcıyoruz. Bu nedenle, sık sık sağlığımıza izin veririz
Raspberry Pi MMA8452Q 3-Eksen 12-bit/8-bit Dijital İvmeölçer Java Eğitimi: 4 Adım
Raspberry Pi MMA8452Q 3-Eksenli 12-bit/8-bit Dijital İvmeölçer Java Eğitimi: MMA8452Q, 12 bit çözünürlüğe sahip akıllı, düşük güçlü, üç eksenli, kapasitif, mikro-işlenmiş bir ivmeölçerdir. İvmeölçerdeki yerleşik fonksiyonların yardımıyla, iki kesintiye yapılandırılabilen esnek, kullanıcı tarafından programlanabilen seçenekler sunulur
Ön Bilgi* Pi Üzerindeki SPI: Raspberry Pi Kullanarak SPI 3 Eksenli İvmeölçer ile İletişim Kurma: 10 Adım
Ön Bilgi* Pi'de SPI: Bir SPI 3 eksenli İvmeölçer ile Haberleşme Bir Raspberry Pi Kullanarak: Raspbian'ın nasıl kurulacağı ve bcm2835 SPI kitaplığını kullanarak bir SPI cihazıyla nasıl iletişim kurulacağı hakkında adım adım kılavuz (BİT DEĞİL!) Bu hala çok ön hazırlık… Daha iyi fiziksel bağlantı resimleri eklemem ve bazı garip kodlar üzerinde çalışmam gerekiyor