İçindekiler:

Raspberry Pi ve AIS328DQTR Kullanarak Hızlandırmayı Python Kullanarak İzleme: 6 Adım
Raspberry Pi ve AIS328DQTR Kullanarak Hızlandırmayı Python Kullanarak İzleme: 6 Adım

Video: Raspberry Pi ve AIS328DQTR Kullanarak Hızlandırmayı Python Kullanarak İzleme: 6 Adım

Video: Raspberry Pi ve AIS328DQTR Kullanarak Hızlandırmayı Python Kullanarak İzleme: 6 Adım
Video: Raspberry Pi AIS328DQTR 3-Axis Accelerometer Java Tutorial 2024, Temmuz
Anonim
Image
Image

İvme sonlu, bence bazı Fizik yasalarına göre. - Terry Riley

Bir çita, kovalarken inanılmaz hızlanma ve hızlı hız değişimlerinden yararlanır. Arada bir karaya çıkan en hızlı yaratık, avını yakalamak için en yüksek hızını kullanır. Yaratıklar, rekor kıran 100 metrelik koşusunda Usain Bolt'tan neredeyse beş kat daha fazla güç uygulayarak bunu hızlandırıyor.

Günümüzde bireyler yenilik olmadan varlıklarını tasavvur edemezler. Etrafımızı saran farklı yenilikler, insanların varlıklarını daha savurganlıkla sürdürmelerine yardımcı oluyor. Mini, tek kartlı Linux PC Raspberry Pi, elektronik çabalar ve IoT, Akıllı Şehirler ve Okul Eğitimi gibi en son gelişmeler için ucuz ve saygın bir temel sağlar. Bilgisayar ve gadget hayranları olarak, Raspberry Pi ile önemli bir önlem alıyoruz ve ilgi alanlarımızı karıştırmayı seçtik. Peki yakınımızda bir Raspberry Pi ve 3 eksenli İvmeölçer varsa ne yapabileceğimizin olası sonuçları nelerdir? Bu görevde, Python kullanarak Raspberry Pi ile X, Y ve Z olmak üzere 3 yönde ivmeyi ölçmek için dijital bir 3 eksenli MEMS lineer ivmeölçer sensörü olan AIS328DQTR'yi dahil edeceğiz. Bakmaya değer.

Adım 1: İhtiyacımız Olan Donanım

İhtiyacımız Olan Donanım
İhtiyacımız Olan Donanım
İhtiyacımız Olan Donanım
İhtiyacımız Olan Donanım

Çalışmak için etrafta çok fazla malzeme olduğu için sorunlar bizim için daha azdı. Her halükarda, doğru parçayı mükemmel bir zamanda güçlü noktadan uzaklaştırmanın başkaları için ne kadar zahmetli olduğunu biliyoruz ve bu, her kuruşuna çok az dikkat ederek korunur. Bu yüzden sana yardım ederdik.

1. Ahududu Pi

İlk adım bir Raspberry Pi kartı almaktı. Raspberry Pi, tek bir tahta Linux tabanlı PC'dir. Bu küçük bilgisayar, elektronik alıştırmalar ve elektronik tablolar, kelime işleme, web'de gezinme, e-posta ve oyunlar gibi bilgisayar işlemleri olarak kullanılan gücü kaydetme konusunda bir yumruk atıyor. Herhangi bir elektronik veya hobi mağazasından satın alabilirsiniz.

2. Raspberry Pi için I2C Kalkanı

Raspberry Pi'nin gerçekten bulunmadığı birincil endişe, bir I2C bağlantı noktasıdır. Bunun için TOUTPI2 I2C konektörü size Raspberry Pi'yi HERHANGİ bir I2C cihazıyla kullanma duygusu verir. DCUBE Store'da mevcuttur

3. 3 Eksenli ivmeölçer, AIS328DQTR

STMicroelectronics hareket sensörlerine ait olan AIS328DQTR, dijital seri arabirim SPI standart çıkışlı, ultra düşük güçlü, yüksek performanslı 3 eksenli bir doğrusal ivmeölçerdir. Bu sensörü DCUBE Store'dan aldık

4. Bağlantı Kablosu

DCUBE Store'dan I2C Bağlantı kablosunu aldık

5. Mikro USB kablosu

En alçakgönüllü şaşkın, ancak güç ihtiyacı konusunda en katı olanı Raspberry Pi! Oyun planıyla başa çıkmanın en basit yolu, Mikro USB kablosunun kullanılmasıdır. GPIO pinleri veya USB portları, bol miktarda güç kaynağı sağlamak için benzer şekilde kullanılabilir.

6. Web Erişimi Bir İhtiyaçtır

Raspberry Pi'nizi bir Ethernet (LAN) kablosuyla ilişkilendirin ve onu ağınıza bağlayın. Öte yandan, bir WiFi konektörü arayın ve uzak ağa ulaşmak için USB bağlantı noktalarından birini kullanın. Bu keskin bir karar, temel, küçük ve basit!

7. HDMI Kablosu/Uzaktan Erişim

Raspberry Pi, özellikle bir HDMI kablosuyla bir Monitör veya TV'ye arabirim oluşturabileceğiniz bir HDMI bağlantı noktasına sahiptir. Seçmeli olarak, Raspberry Pi'nizi bir Linux PC'den veya terminalden Macintosh'tan getirmek için SSH'yi kullanabilirsiniz. Ayrıca, ücretsiz ve açık kaynaklı bir terminal emülatörü olan PuTTY, kulağa o kadar da kötü bir seçim değil gibi geliyor.

Adım 2: Donanımı Bağlama

Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama

Devreyi, gösterilen şematikte gösterildiği gibi yapın. Grafikte çeşitli parçaları, güç parçalarını ve I2C sensörünü göreceksiniz.

Raspberry Pi ve I2C Shield Bağlantısı

En önemlisi, Raspberry Pi'yi alın ve üzerindeki I2C Shield'i görün. Kalkanı Pi'nin GPIO pinlerinin üzerine dikkatlice bastırın ve bu adımı pasta kadar basit bir şekilde bitirdik (çıkışa bakın).

Raspberry Pi ve Sensör 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ı inceleyin DAİMA I2C Girişi ile birlikte alır. Aynısı, GPIO pinleri üzerine monte edilmiş I2C kalkanı ile Raspberry Pi için de alınmalıdır.

Pin çıkışlarının kesilmesi, emniyete alınması ve en küçük karışıklıkların bile başardığı zahmeti ortadan kaldırdığı için I2C kablosunun kullanılmasını teşvik ediyoruz. Bu önemli ilişkilendirme ve oynatma kablosuyla, uygun bir uygulamaya düzenleyebilir, düzenekleri değiştirebilir veya daha fazla gadget ekleyebilirsiniz. Bu, çalışma ağırlığını muazzam bir düzeye kadar destekler.

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

Denememizi kazanmak için Raspberry Pi'miz için bir Web bağlantısına ihtiyacımız var. Bunun için, ev ağı ile bir Ethernet (LAN) birleşimini arayüzlemek gibi seçenekleriniz var. Ayrıca, bir seçenek olarak, bir WiFi USB konektörü kullanmak hoş bir kurstur. Genel olarak bunun için konuşursak, ç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. Yumruk at ve biz hazırız.

Ekrana Bağlantı

HDMI kablosunu başka bir Monitöre bağlayabiliriz. Bazen bir Raspberry Pi'ye onu bir ekrana bağlamadan ulaşmanız veya ondan gelen bilgileri başka bir yerden görüntülemeniz gerekebilir. Muhtemelen, düşünülen her şeyi yapmanın yaratıcı ve mali açıdan akıllıca yolları 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 için Python Kodlaması
Raspberry Pi için Python Kodlaması

Raspberry Pi ve AIS328DQTR Sensörü için Python Kodunu Github Depomuzda görüntüleyebilirsiniz.

Kodlara geçmeden önce Readme arşivinde verilen kuralları okuduğunuzdan emin olun ve Raspberry Pi'nizi buna göre kurun. Düşünülen her şeyi yapmak için sadece bir an için mühlet verecektir.

İvmeölçer, ivme kuvvetlerini ölçecek elektromekanik bir alettir. Bu güçler, ayaklarınızı çeken sabit yerçekimi kuvvetine benzer şekilde statik olabilir veya ivmeölçeri hareket ettirerek veya titreterek değiştirilebilirler.

Devam eden python kodudur ve kodu istediğiniz şekilde klonlayabilir ve değiştirebilirsiniz.

# 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. # AIS328DQTR # Bu kod, dcubestore.com adresinde bulunan AIS328DQTR_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır # https://dcubestore.com/product/ais328dqtr-high-performance-ultra-low-power-3-axis-accelerometer-with -otomotiv-uygulamaları için-dijital-çıktı-i%C2%B2c-mini-modülü/

smbus'u içe aktar

ithalat zamanı

# I2C veri yolunu alın

veri yolu = smbus. SMBus(1)

# AIS328DQTR adresi, 0x18(24)

# Kontrol kaydı seçin1, 0x20(32) # 0x27(39) Güç AÇIK modu, Veri hızı seçimi = 50Hz # X, Y, Z-Ekseni etkin bus.write_byte_data(0x18, 0x20, 0x27) # AIS328DQTR adresi, 0x18(24) # Kontrol kaydı seç4, 0x23(35) # 0x30(48) Sürekli güncelleme, Tam ölçek seçimi = +/-8G bus.write_byte_data(0x18, 0x23, 0x30)

zaman.uyku(0.5)

# AIS328DQTR adresi, 0x18(24)

# Verileri 0x28(40), 2 bayttan geri oku # X-Ekseni LSB, X-Ekseni MSB data0 = bus.read_byte_data(0x18, 0x28) data1 = bus.read_byte_data(0x18, 0x29)

# Verileri dönüştürün

xAccl = data1 * 256 + data0 eğer xAccl > 32767 ise: xAccl -= 65536

# AIS328DQTR adresi, 0x18(24)

# Veriyi 0x2A(42), 2 bayttan geri oku # Y Ekseni LSB, Y Ekseni MSB data0 = bus.read_byte_data(0x18, 0x2A) data1 = bus.read_byte_data(0x18, 0x2B)

# Verileri dönüştürün

yAccl = data1 * 256 + data0 eğer yAccl > 32767 ise: yAccl -= 65536

# AIS328DQTR adresi, 0x18(24)

# 0x2C(44), 2 bayttan veri okuma # Z-Ekseni LSB, Z-Ekseni MSB data0 = bus.read_byte_data(0x18, 0x2C) data1 = bus.read_byte_data(0x18, 0x2D)

# Verileri dönüştürün

zAccl = data1 * 256 + data0 eğer zAccl > 32767 ise: zAccl -= 65536

# 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

Kodun Uygulanabilirliği
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 sonucu Ekranda görün. Birkaç dakika takip ederek, parametrelerin her birini gösterecektir. Her şeyin zahmetsizce çalıştığını garanti etmenin ardından, bu girişimi her gün kullanabilir veya bu girişimi çok daha büyük bir görevin küçük bir parçası haline getirebilirsiniz. İhtiyaçlarınız ne olursa olsun, birikiminizde artık bir mekanizma daha var.

Adım 5: Uygulamalar ve Özellikler

STMicroelectronics tarafından üretilen, hareket sensörlerine ait ultra kompakt, düşük güçlü, yüksek performanslı 3 eksenli lineer ivmeölçer. AIS328DQTR, Telematik ve Kara Kutular, Araç İçi Navigasyon, Eğim / Eğim Ölçümü, Hırsızlığa Karşı Cihaz, Akıllı Güç Tasarrufu, Darbe Tanıma ve Günlüğe Kaydetme, Titreşim İzleme ve Dengeleme ve Hareketle Etkinleştirilen İşlevler gibi uygulamalar için uygundur.

6. Adım: Sonuç

Raspberry Pi ve I2C sensörlerinin evrenini keşfetmeyi düşünüyorsanız, donanım temellerini, kodlamayı, düzenlemeyi, yetkiliyi vb. Kullanarak kendinizi şok edebilirsiniz. Bu yöntemde, birkaç iş olabilir. basit olabilir, bazıları sizi test edebilir, sizi hareket ettirebilir. Her halükarda, kendi formasyonunuzu değiştirerek ve yaparak bir yol ve kusursuz hale getirebilirsiniz.

Örneğin, Python kullanarak AIS328DQTR ve Raspberry Pi ile hayvanların fiziksel hareketlerini ve vücut duruşlarını izlemek ve tasvir etmek için bir Behavior Tracker Prototipi düşüncesiyle başlayabilirsiniz. Yukarıdaki görevde, bir ivmeölçerin temel hesaplamalarını kullandık. Protokol, herhangi bir Gyrometre ve GPS ile birlikte bir ivmeölçer sistemi ve hayvanların otomatik davranış tanımlaması için denetimli (makine) öğrenme algoritması (destek vektör makinesi (SVM)) oluşturmaktır. Bunu paralel sensör ölçümlerinin toplanması ve ölçümlerin destek vektör makinesi (SVM) sınıflandırması kullanılarak değerlendirilmesi izleyecektir. Prototipin sağlamlığını belirlemek için eğitim ve doğrulama için farklı bağımsız ölçüm kombinasyonları (oturma, yürüme veya koşma) kullanın. Bu prototipin çalışan bir yorumunu er ya da geç yapmaya çalışacağız, konfigürasyon, kod ve modelleme daha davranışsal modlar için çalışır. Hepinizin beğendiğine inanıyoruz!

Rahatınız için YouTube'da muayenenize yardımcı olabilecek büyüleyici bir videomuz var. Bu çabaya güvenin, daha fazla araştırmayı motive eder. Bulunduğunuz yerden başlayın. Elinizde olanı kullanın. Elinden geleni yap.

Önerilen: