İçindekiler:

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: 6 Adım

Video: Raspberry Pi ve LIS3DHTR ile Hareket Kontrolü, 3 Eksenli İvmeölçer, Python Kullanarak: 6 Adım

Video: Raspberry Pi ve LIS3DHTR ile Hareket Kontrolü, 3 Eksenli İvmeölçer, Python Kullanarak: 6 Adım
Video: Laser motion sensor, raspberry and camera #shorts 2024, Temmuz
Anonim
Image
Image
İhtiyacımız Olan Temel Donanım
İhtiyacımız Olan Temel Donanım

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

İhtiyacımız Olan Temel Donanım
İhtiyacımız Olan Temel Donanım
İhtiyacımız Olan Temel Donanım
İ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

Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama
Donanımı Bağlama
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 için Python Kodlaması
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

Kodun İşlenebilirliği
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: