İç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 İşlenebilirliği
- Adım 5: Uygulamalar ve Özellikler
- 6. Adım: Sonuç
Video: Raspberry Pi ve LIS3DHTR ile Hareket Kontrolü, 3 Eksenli İvmeölçer, Python Kullanarak: 6 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Güzellik bizi çevreler, 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, spor salonuna veya fitness sınıfına gitmek için hiçbir zaman gerçekten ideal bir fırsat bulamadan ve kural olarak çok daha faydalı seçenekler yerine fast food yemeyi tercih ederek, sağlığımızın genellikle ikincil salonu almasına izin veriyoruz. Canlandırıcı haber şu ki, ihtiyacınız olan tek şey kayıt tutma konusunda biraz yardım mı yoksa ilerlemenizi izlemek mi, bugünün yeniliğini kendinize yardımcı olacak bir alet üretmek için kullanabilirsiniz.
Teknoloji hızla gelişiyor. Tutarlı bir şekilde, dünyayı ve onun içinde öğrenme şeklimizi değiştirecek bazı yeni yeniliklerin rüzgarını yakalıyoruz. Bilgisayarlar, kodlama ve robotlarla ilgilendiğinizde ya da sadece kurcalamayı sevdiğinizde, orada bir teknoloji nimeti var. Mikro, tek kartlı Linux bilgisayar olan Raspberry Pi, kendini yenilikçi teknolojiyle öğrenme şeklinizi geliştirmeye adamıştır, aynı zamanda dünya çapında eğitim öğrenimini geliştirmenin anahtarıdır. Peki yakınımızda bir Raspberry Pi ve 3 eksenli İvmeölçer varsa ne yapabileceğimizin olası sonuçları nelerdir? Bunu bulsak nasıl olur! Bu görevde, Raspberry Pi ve 3 eksenli bir ivmeölçer olan LIS3DHTR'yi kullanarak X, Y ve Z olmak üzere 3 dik eksendeki ivmeyi kontrol edeceğiz. Bu yüzden bu yolculukta 3 boyutlu hızlanmayı veya G-Kuvvetini kontrol edecek bir sistem yaratmayı görmeliyiz.
Adım 1: İhtiyacımız Olan Temel Donanım
Etrafta çalışmak için çok fazla malzememiz olduğu için sorunlar bizim için daha azdı. Her halükarda, doğru parçayı kusursuz bir zamanda, yararlı noktadan toplamanın başkaları için ne kadar zahmetli olduğunu biliyoruz ve bu, her kuruşuna çok az önem verilerek savunulmaktadır. Bu yüzden sana yardım ederdik. Eksiksiz bir parça listesi almak için eşlik edenleri takip edin.
1. Ahududu Pi
İlk adım bir Raspberry Pi kartı almaktı. Raspberry Pi, tek kartlı Linux tabanlı bir PC'dir. Bu küçük bilgisayar, gadget etkinliklerinin ve elektronik tablolar, kelime hazırlama, web tarama ve e-posta ve oyunlar gibi basit işlemlerin bir parçası olarak kullanılan bilgi işlem gücünde bir yumruk sunuyor.
2. Raspberry Pi için I2C Kalkanı
Raspberry Pi'nin gerçekten bulunmadığı birincil endişe, bir I²C bağlantı noktasıdır. Bunun için TOUTPI2 I²C konektörü size Rasp Pi'yi HERHANGİ BİR I²C cihazıyla kullanma duygusu verir. DCUBE Store'da mevcut
3. 3 eksenli ivmeölçer, LIS3DHTR
LIS3DH, dijital I2C/SPI seri arabirim standart çıkışlı, "nano" ailesine ait, ultra düşük güçlü, yüksek performanslı, üç eksenli bir doğrusal ivmeölçerdir. Bu sensörü DCUBE Store'dan aldık
4. Bağlantı Kablosu
I2C Bağlantı kablosunuDCUBE Mağazasından aldık
5. Mikro USB kablosu
En küçük şaşkın, ancak güç ihtiyacı konusunda en katı olanı Raspberry Pi! Anlaşmanın en kolay yolu Mikro USB kablosunu kullanmaktır.
6. Web Erişimi Bir İhtiyaçtır
İNTERNET çocukları ASLA uyumaz
Raspberry Pi'nizi bir Ethernet (LAN) kablosuyla ilişkilendirin ve onu ağ yönlendiricinize bağlayın. Seçmeli, bir WiFi konektörü arayın ve uzak sisteme ulaşmak için USB bağlantı noktalarından birini kullanın. Bu keskin bir karar, basit, küçük ve kalitesiz!
7. HDMI Kablosu/Uzaktan Erişim
Raspberry Pi, bir HDMI kablosuyla özellikle bir ekrana veya TV'ye bağlayabileceğiniz bir HDMI bağlantı noktasına sahiptir. Seçmeli, bir Linux PC'den Raspberry Pi'nizle veya terminalden Macintosh'la ilişkilendirmek için SSH'yi kullanabilirsiniz. Aynı şekilde, ücretsiz ve açık kaynaklı bir terminal emülatörü olan PuTTY, kulağa iyi bir alternatif gibi geliyor.
Adım 2: Donanımı Bağlama
Çıkan şemaya göre devreyi yapınız. Bir diyagram çizin ve ana hatları kesin olarak alın. Hayal gücü Bilgiden daha önemlidir.
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 bitirmiş oluyoruz (çı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.
I2C kablosunun, pin çıkışlarını, sabitlemeyi ve en ufak bir bozulmanın neden olduğu rahatsızlığı inceleme gerekliliğini ortadan kaldırdığı için kullanılmasını onaylıyoruz. Bu temel ek ve oynatma kablosuyla etkin bir şekilde gadget'ları sunabilir, değiştirebilir veya bir uygulamaya daha fazla gadget ekleyebilirsiniz. Bu, iş ağırlığını önemli bir düzeye kadar kolaylaştırır.
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
Çabalarımızı kazanmak için Raspberry Pi'miz için bir İnternet derneğine ihtiyacımız var. Bunun için, ev ağıyla bir Ethernet (LAN) kablosu birleştirme arabirimi oluşturma gibi seçenekleriniz vardır. Ayrıca, alternatif olarak, uygun bir kurs, bir WiFi USB konektörü kullanmaktır. Bunun için kural olarak, çalışması için bir sürücüye ihtiyacınız vardır. Bu yüzden açıklamasında 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 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. Bunlar ileri düzey kullanıcılar içindir. Bu nedenle ayrıntılar burada yer almamaktadır.
Adım 3: Raspberry Pi için Python Kodlaması
Raspberry Pi ve LIS3DHTR Sensörü için Python Koduna GithubRepository'mizden erişilebilir.
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.
Ekteki python kodudur ve kodu istediğiniz şekilde klonlayabilir ve ayarlayabilirsiniz.
# 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. # LIS3DHTR # Bu kod, dcubestore.com adresinde bulunan LIS3DHTR_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-mini modül/
smbus'u içe aktar
ithalat zamanı
# I2C veri yolunu alın
veri yolu = smbus. SMBus(1)
# LIS3DHTR adresi, 0x18(24)
# Kontrol kaydı seçin1, 0x20(32) # 0x27(39) Güç AÇIK modu, Veri hızı seçimi = 10 Hz # X, Y, Z-Ekseni etkin bus.write_byte_data(0x18, 0x20, 0x27) # LIS3DHTR adresi, 0x18(24) # Kontrol kaydı seç4, 0x23(35) # 0x00(00) Sürekli güncelleme, Tam ölçek seçimi = +/-2G bus.write_byte_data(0x18, 0x23, 0x00)
zaman.uyku(0.5)
# LIS3DHTR 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
# LIS3DHTR 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
# LIS3DHTR 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 İşlenebilirliğ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 sonra, parametrelerin her birini gösterecektir. Her şeyin zahmetsizce çalışmasını garanti altına almanın sonucu olarak, bu cesareti daha dikkate değer bir girişime taşıyabilirsiniz.
Adım 5: Uygulamalar ve Özellikler
STMicroelectronics tarafından üretilen LIS3DHTR, dinamik olarak kullanıcı tarafından seçilebilen ±2g/±4g/±8g/±16g tam ölçeklere sahiptir ve 1Hz ila 5kHz çıkış veri hızları ile ivmeleri ölçebilir. LIS3DHTR, Hareketle etkinleştirilen işlevler ve Serbest Düşme Algılama 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, Tıklama/Çift Tıklama Tanıma, El Cihazları için Akıllı Güç Tasarrufu, Adımsayar, Ekran Yönlendirme, Oyun ve Sanal Gerçeklik Giriş Cihazları, Darbe Tanıma ve Günlüğe Kaydetme ve Titreşim İzleme ve Tazminat gibi uygulamaları içerir.
6. Adım: Sonuç
Bu girişimin daha fazla deneyi teşvik ettiğine güvenin. Bu I2C sensörü olağanüstü uyarlanabilir, mütevazı ve kullanılabilir. Müthiş derecede kalıcı bir çerçeve olduğu için, bu görevi genişletmenin ve hatta geliştirmenin ilginç yolları var.
Örneğin, LIS3DHTR ve Raspberry Pi kullanarak bir Pedometre fikriyle başlayabilirsiniz. Yukarıdaki görevde, temel hesaplamaları kullandık. İvme, yürümenin kararını analiz etmek için ilgili parametre olabilir. Bir birey için ileri (yuvarlanma, X), yan (eğim, Y) ve dikey (yaw ekseni, Z) olan üç hareket bileşenini kontrol edebilirsiniz. Tüm 3 eksenin tipik bir modeli kaydedilir. En az 1 eksen göreceli olarak büyük periyodik hızlanma değerlerine sahip olacaktır. Bu yüzden tepe yönü ve bir algoritma esastır. Bu algoritmanın adımları Parametresini (Dijital Filtre, Tepe Algılama, Zaman Penceresi, vb.) dikkate alarak adımları tanıyabilir ve sayabilir, ayrıca mesafeyi, hızı ve bir dereceye kadar yakılan kalorileri ölçebilirsiniz. Böylece bu sensörü, düşünebileceğiniz çeşitli şekillerde kullanabilirsiniz. Hepinize güveniyoruz, beğenin! Bu pedometrenin çalışan bir yorumunu daha sonra değil, yapılandırmayı, kodu, yürümeyi ve koşmayı ve yakılan Kalorileri ayırmanın yollarını hesaplayan parçayı yapmaya çalışacağız.
Teselliniz için YouTube'da incelemenize yardımcı olabilecek ilgi çekici bir videomuz var. Bu girişimin daha fazla keşfi motive ettiğine güvenin. Düşünmeye devam edin! Daha fazlası sürekli olarak ortaya çıktığından sonra bakmayı 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
3-Eksen İvmeölçer, ADXL345, Raspberry Pi ile Python Kullanarak: 6 Adım
3-Eksen İvme Ölçer, ADXL345 Raspberry Pi ile Python Kullanarak: Offroader'ınızın oyalanmak üzere eğildiği noktayı kontrol edebilen bir cihaz hakkında düşünmek. Devrilme ihtimali varken birinin ayarlanması durumunda hoş olmaz mıydı? Açıkçası evet. Doğru olurdu
HT12D Kullanarak RF 433MHZ Radyo Kontrolü HT12E - 433mhz ile HT12E & HT12D Kullanarak Rf Uzaktan Kumanda Yapma: 5 Adım
HT12D Kullanarak RF 433MHZ Radyo Kontrolü HT12E | 433mhz ile HT12E ve HT12D Kullanarak Rf Uzaktan Kumanda Yapma: Bu talimatta size HT12E kodlamalı & HT12D kod çözücü IC.Bu talimatta çok ucuz BİLEŞENLER GİBİ kullanarak veri gönderip alabilirsiniz: HT
Ö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