İçindekiler:
- Adım 1: İhtiyacımız Olan Temel Donanım
- Adım 2: Donanımı Bağlama
- Adım 3: Raspberry Pi için Python Kodlaması
- Adım 4: Kodun Uygulanabilirliği
- Adım 5: Uygulamalar ve Özellikler
- 6. Adım: Sonuç
Video: 3-Eksen İvmeölçer, ADXL345, Raspberry Pi ile Python Kullanarak: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Offroader'ınızın eğilip oyalandığı noktayı kontrol edebilecek bir alet düşünüyorum. Devrilme ihtimali varken birinin ayarlanması durumunda hoş olmaz mıydı? Açıkçası evet. Dağlara çıkmayı ve kurumsal gezileri seven bireyler için gerçekten faydalı olacaktır.
Şüphesiz, gerçek anlamda parlak bir ileri düzey belirleme değerlendirmesi dönemi, IoT üzerimizde. Gadget'lar ve Programlama sevenler olarak, mikro Linux PC'nin Raspberry Pi'nin, yenilikçi metodolojilerde bir patlamayı beraberinde getirerek, genel olarak insanların yaratıcı yeteneklerini ele aldığına inanıyoruz. Peki yakınımızda bir Raspberry Pi ve 3 eksenli İvmeölçer olması durumunda ne yapabileceğimizin akla yatkın sonuçları nelerdir? Keşfetmeliyiz! Bu görevde Raspberry Pi ve 3 eksenli bir ivmeölçer olan ADXL345'i kullanarak X, Y ve Z olmak üzere 3 eksendeki ivmeyi hissedeceğiz. Bu nedenle, 3 boyutlu ivmeyi veya G-Kuvvetini ölçmek için bir çerçeve üretmek için bu geziyi gözlemlemeliyiz.
Adım 1: İhtiyacımız Olan Temel Donanım
Etrafta çalışmak için bir sürü şeyimiz olduğu için sorunlar bizim için daha azdı. Yine de, doğru parçayı tam zamanında ve uygun noktadan monte etmenin başkaları için ne kadar zahmetli olduğunu biliyoruz ve bu, her kuruştan bağımsız olarak haklı. Böylece tüm bölgelerde size yardımcı oluruz. Eksiksiz bir parça listesi almak için aşağıdakileri okuyun.
1. Ahududu Pi
İlk adım bir Raspberry Pi kartı almaktı. Bu küçük, düşük güçlü bilgisayar, elektronik girişimler, Nesnelerin İnterneti (IoT), Akıllı Şehirler, Okul Eğitimi için ucuz ve genellikle basit bir temel sağlar.
2. Raspberry Pi için I2C Kalkanı
Raspberry Pi'nin gerçekten eksik olduğu en önemli şey bir I²C bağlantı noktasıdır. Bunun için TOUTPI2 I²C konektörü size Rasp Pi'yi MULTIPLE I²C cihazlarıyla kullanma duygusu verir. DCUBE Store'dan erişilebilir
3. 3 eksenli ivmeölçer, ADXL345
Analog Devices tarafından üretilen ADXL345, ±16g'ye kadar yüksek çözünürlüklü 13 bit ölçüme sahip düşük güçlü 3 eksenli bir ivmeölçerdir. Bu sensörü DCUBE Store'dan aldık
4. Bağlantı Kablosu
DCUBE Store'da I2C bağlantı kablosuna erişebildik
5. Mikro USB kablosu
En ufak kafa karıştırıcı, ancak güç gereksinimi açısından en katı olanı Raspberry Pi! Raspberry Pi'yi çalıştırmanın en zahmetsiz yolu Mikro USB kablosudur.
6. Web Erişimi Bir İhtiyaçtır
Web erişimi, yerel ağ ve web ile ilişkili bir Ethernet(LAN) kablosu aracılığıyla güçlendirilebilir. Öte yandan, yapılandırma gerektiren bir USB kablosuz donanım kilidi kullanarak bir kablosuz ağ ile ilişkilendirebilirsiniz.
7. HDMI Kablosu/Uzaktan Erişim
Yerleşik HDMI kablosuyla, onu bir dijital TV'ye veya bir Monitöre bağlayabilirsiniz. Nakit ayırmanız gerekiyor! Raspberry Pi, SSH ve Web üzerinden Erişim gibi farklı stratejiler kullanarak uzaktan elde edilebilir. PuTTYopen kaynak yazılımını kullanabilirsiniz.
Adım 2: Donanımı Bağlama
Çıkan şemaya göre devreyi yapınız. Bir taslak çizin ve kasıtlı olarak konfigürasyondan sonra alın.
Raspberry Pi ve I2C Shield Bağlantısı
Her şeyden önce, Raspberry Pi'yi alın ve üzerindeki I2C Shield'i görün. Kalkanı Pi'nin GPIO pinlerinin üzerine hassas bir şekilde bastırın ve pasta kadar basit olan bu ilerlemeyi bitirdik (çıkışa bakın).
Sensör ve Raspberry Pi Bağlantısı
Sensörü alın ve onunla I2C Kablosunu Arayüz. Bu Kablonun uygun şekilde çalışması için lütfen I2C Çıkışının HER ZAMAN I2C Girişi ile ilişkili olduğunu hatırlayın. Aynısı, GPIO pinleri üzerine monte edilmiş I2C kalkanı ile Raspberry Pi için de alınmalıdır.
En küçük hatanın bile neden olduğu pin çıkışlarını, lehimlemeyi ve kırgınlığı inceleme gereksinimini reddettiği için I2C kablosunun kullanılmasını tavsiye ediyoruz. Bu temel tak ve çalıştır kablosuyla, bir uygulamaya kolayca cihaz tanıtabilir, değiştirebilir veya daha fazla cihaz ekleyebilirsiniz. Bu, işleri karmaşık hale getirir.
Not: Kahverengi kablo, bir cihazın çıkışı ile başka bir cihazın girişi arasındaki Toprak (GND) bağlantısını güvenilir bir şekilde izlemelidir
Web Ağı Anahtardır
Girişimimizi kazanmak için Raspberry Pi'miz için bir web bağlantısına ihtiyacımız var. Bunun için, ev sistemiyle bir Ethernet(LAN) kablosu arabirimi kurmak gibi alternatifleriniz var. Ek olarak, bir seçenek olarak, bir WiFi konektörü kullanmak yararlı bir yoldur. Bunun için bazen, çalışması için bir sürücüye ihtiyacınız var. Bu yüzden tasvirde Linux olana doğru eğilin.
Güç kaynağı
Mikro USB kablosunu Raspberry Pi'nin güç jakına takın. Onu yak ve gitmeye hazırız.
Ekrana Bağlantı
HDMI kablosunu başka bir ekranla ilişkilendirebiliriz. Bazı durumlarda, Raspberry Pi'ye ekrana arabirim oluşturmadan ulaşmanız gerekir veya ondan bazı verileri başka bir yerden görüntülemeniz gerekebilir. Muhtemelen, böyle yapmak için yenilikçi ve finansal açıdan anlayışlı yaklaşımlar vardır. Bunlardan biri - SSH (uzaktan komut satırı girişi) kullanıyor. Bunun için PuTTY yazılımını da kullanabilirsiniz.
Adım 3: Raspberry Pi için Python Kodlaması
Raspberry Pi ve ADXL345 Sensörü için Python Koduna Github Depomuzdan erişilebilir.
Koda geçmeden önce BeniOku belgesinde verilen yönergeleri okuduğunuzdan ve Raspberry Pi'nizi buna göre kurduğunuzdan emin olun. Bu şekilde yapmak için sadece bir dakika duraklayacaktır.
Bir ivmeölçer, uygun ivmeyi ölçen bir cihazdır; uygun ivme, koordinat ivmesi (hız değişim oranı) ile aynı şey değildir. İvmeölçerin tek ve çok eksenli modellerine, vektör miktarı olarak uygun ivmenin büyüklüğünü ve yönünü belirlemek için erişilebilir ve oryantasyonu, ivmeyi, titreşimi, şoku ve dirençli bir ortamda düşmeyi koordine etmek için kullanılabilir.
Kod önünüzde açıktır ve hayal edebileceğiniz en basit yapıdadır ve hiçbir sorun yaşamamanız gerekir.
# Bir özgür irade lisansı ile 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. # ADXL345 # Bu kod, dcubestore.com adresinde bulunan ADXL345_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -modül/
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ç, 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ı seç, 0x2D(45) # 0x08(08) Otomatik Uyku devre dışı bus.write_byte_data(0x53, 0x2D, 0x08) # ADXL345 adresi, 0x53(83) # Veri formatı kaydı seç, 0x31(49) # 0x08(08) Kendi kendine test devre dışı, 4 telli 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)
# Verileri 0x32(50), 2 bayttan 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 = ((data1 & 0x03) * 256) + xAccl > 511 ise data0: xAccl -= 1024
# ADXL345 adresi, 0x53(83)
# Verileri 0x34(52), 2 bayttan geri oku # Y Ekseni LSB, Y Ekseni MSB data0 = bus.read_byte_data(0x53, 0x34) data1 = bus.read_byte_data(0x53, 0x35)
# Veriyi 10 bit'e dönüştürün
yAccl = ((data1 & 0x03) * 256) + yAccl > 511 ise data0: yAccl -= 1024
# ADXL345 adresi, 0x53(83)
# 0x36(54), 2 bayttan veri okuma # 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 = ((data1 & 0x03) * 256) + zAccl > 511 ise data0: zAccl -= 1024
# Ekrana veri çıkışı
print "X-Ekseninde İvme: %d" %xAccl print "Y-Ekseninde İvme: %d" %yAccl print "Z-Ekseninde İvme: %d" %zAccl
Adım 4: Kodun Uygulanabilirliği
Kodu Github'dan indirin (veya git pull) ve Raspberry Pi'de açın.
Terminalde kodu Derlemek ve Yüklemek için komutları çalıştırın ve Monitör'deki çıktıya bakın. Birkaç dakika sonra, parametrelerin her birini gösterecektir. Her şeyin kolayca çalışmasını sağladıktan sonra, bu girişimi daha büyük bir göreve taşıyabilirsiniz.
Adım 5: Uygulamalar ve Özellikler
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. ADXL345, Cep Telefonu Uygulamaları için uygundur. Eğim Algılama Uygulamalarında Statik Yerçekimi Hızlandırmasını ve buna ek olarak Hareket veya Şok nedeniyle yaklaşan Dinamik Hızlanmayı ölçer. Diğer uygulamalar arasında Ahizeler, Tıbbi enstrümantasyon, Oyun ve İşaretleme Cihazları, Endüstriyel Enstrümantasyon, Kişisel Navigasyon Cihazları ve Sabit Disk Sürücüsü (HDD) Koruması yer alır.
6. Adım: Sonuç
Umarım bu görev daha fazla deneyi motive eder. Bu I2C sensörü olağanüstü esnektir, ucuzdur ve erişilebilirdir. Büyük ölçüde süreksiz bir sistem olduğundan, bu görevi genişletmenin ve hatta iyileştirmenin ilginç yolları var.
Örneğin, ADXL345 ve Raspberry Pi kullanarak bir Eğimölçer fikriyle başlayabilirsiniz. Yukarıdaki projede temel hesaplamaları kullandık. Yerçekimine göre bir nesnenin G değerleri, eğim (veya eğim) açıları, yüksekliği veya alçalması için kodu doğaçlama yapabilirsiniz. Ardından, yuvarlanma (önden arkaya eksen, X), eğim (yan yana eksen, Y) ve sapma (dikey eksen, Z) için dönüş açıları gibi ilerleme seçeneklerini kontrol edebilirsiniz. Bu ivmeölçer, 3-D G-Kuvvetlerini görüntüler. Böylece bu sensörü, düşünebileceğiniz çeşitli şekillerde kullanabilirsiniz.
Rahatınız için YouTube'da araştırmanıza yardımcı olabilecek büyüleyici bir video eğitici alıştırmamız var. Bu girişimin daha fazla keşfi motive ettiğine güvenin. Düşünmeye devam et! Sürekli olarak daha fazlası geleceği için aramayı unutmayın.
Ö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 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
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
Ö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
Akıllı Telefon Oyun Simülatörü - Hareket Kontrolü IMU, İvmeölçer, Jiroskop, Manyetometre Kullanarak Windows Oyunları Oynayın: 5 Adım
Akıllı Telefon Oyun Simülatörü- Hareket Kontrolü Kullanarak Windows Oyunlarını Oynayın IMU, İvmeölçer, Jiroskop, Manyetometre: Bu projeyi destekleyin: https://www.paypal.me/vslcreations açık kaynak kodlarına bağışta bulunarak & daha fazla gelişme için destek