İçindekiler:

Python Kullanarak Raspberry Pi ve MMA7455 ile İvme Varyasyonlarını İzleme: 6 Adım
Python Kullanarak Raspberry Pi ve MMA7455 ile İvme Varyasyonlarını İzleme: 6 Adım

Video: Python Kullanarak Raspberry Pi ve MMA7455 ile İvme Varyasyonlarını İzleme: 6 Adım

Video: Python Kullanarak Raspberry Pi ve MMA7455 ile İvme Varyasyonlarını İzleme: 6 Adım
Video: Python Dersleri #4 - Raspberry Pi İle DHT11 Kullanımı 2024, Kasım
Anonim
Image
Image

Ben takılmadım, yerçekimini test ediyordum. Hala çalışıyor…

Hızlanan bir uzay mekiğinin temsili, mekiğin en yüksek noktasındaki bir saatin, yerçekimi zaman genişlemesi nedeniyle tabandaki bir saatten daha hızlı seçeceğini açıkladı. Bazıları, mekikteki hızlanmanın her iki saat için de aynı olacağını, bu yüzden saatlerin aynı hızda işlemesi gerektiğini iddia etti. Biraz düşün.

Düşünceler, motivasyon ve hatta rehber herhangi bir yerden kaynaklanabilir - ancak dikkatiniz inovasyona olduğunda, o noktaya odaklanan bireylerin katkısını alır. Mini, tek kartlı Linux PC Raspberry Pi, düzenleme, programlama ve elektronik girişimleri konusunda benzersiz girişimler ve usta danışmanlar sunar. Ahududu Pi ve cihazların öğretici yapımcıları olarak, Bilgisayar Bilimi ve Elektronik ile programlama ve tamir etme ve şaşırtıcı şeyler yapma şansını yakalıyoruz. Son zamanlarda bir ivmeölçer kullanarak bir görevde çekim yapmanın sevincini yaşadık ve bu gadget ile neler yapabileceğinizin arkasındaki düşünceler gerçekten harika. Dolayısıyla bu görevde, Python kullanarak Raspberry Pi ile X, Y ve Z olmak üzere 3 boyutta ivmeyi ölçmek için 3 eksenli bir Dijital ivmeölçer sensörü olan MMA7455'i birleştireceğiz. Bakalım işe yarayacak mı?

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

Hangi parçaları alacağınızı, nereden ayarlayacağınızı ve her şeyin önceden ne kadara mal olacağını bilmeden denemenin ve almanın ne kadar zahmetli olabileceğini biliyoruz. Bu yüzden tüm bu çalışmaları sizin için yaptık. Parçaların hepsini bir araya getirdiğinizde, bu görevi yapmak çok kolay olmalı. Eksiksiz bir parça listesi almak için gittikten sonra alın.

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ın bir parçası 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 mevcut

3. 3 Eksenli ivmeölçer, MMA7455

Freescale Semiconductor, Inc. tarafından üretilen MMA7455 3 Eksenli Dijital İvmeölçer, X, Y ve Z ekseni boyunca ivmeyi ölçmek için uygun, düşük güçlü, daha küçük ölçekli işlenmiş bir sensördür. 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 ufak bir karışıklık, ancak güç gerekliliği konusunda en katı olanı Raspberry Pi! Stratejiyi yönetmek için en çok öngörülen ve en az talepkar yaklaşım, Mikro USB kablosunun kullanılmasıdır. Daha gelişmiş ve özel bir yol, özellikle GPIO veya USB bağlantı noktaları aracılığıyla güç vermektir.

6. Ağ Desteği

Ahududu Pi'nizi bir Ethernet (LAN) kablosuyla ilişkilendirin ve onu ev 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 Ekrana veya TV'ye arabirim oluşturabileceğiniz bir HDMI bağlantı noktasına sahiptir. Seçmeli olarak, Raspberry Pi'nizi bir Linux PC veya Mac'ten terminalden kurmak için SSH kullanabilirsiniz. Aynı şekilde, ücretsiz ve açık kaynaklı bir terminal emülatörü olan PuTTY, akıllıca bir düşünce 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. Şemada çeşitli elektronik bileşenlerin, bağlantı kablolarının, güç kablolarının ve I2C sensörünün bağlantılarını göreceksiniz.

Raspberry Pi ve I2C Shield Bağlantısı

Öncelikle Raspberry Pi'yi alın ve üzerindeki I2C Shield'i görün. Kalkanı Pi'nin GPIO pinlerinin üzerine güzelce bastırın ve bu ilerlemeyi pasta kadar kolay 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 ufak bir karışıklık tarafından bile gerçekleştirilen zahmeti ortadan kaldırdığı için I2C kablosunun kullanılmasını öneririz. 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ından sonra güvenilir şekilde alınmalıdır

İnternet Erişimi Önemlidir

Çabalarımızı kazanmak için Raspberry Pi'miz için bir İnternet bağlantısına ihtiyacımız var. Bunun için, ev ağı ile bir Ethernet (LAN) birleşimini arayüzlemek gibi alternatifleriniz var. Ayrıca, bir alternatif olarak, tatmin edici bir kurs, bir WiFi USB konektörü kullanmaktır. Bunu temsil eden genel olarak, çalışması için bir sürücüye ihtiyacınız var. Bu nedenle, tanımlamada Linux'lu 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/TV'ye 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 MMA7455 Sensör için Python Kodunu GithubRepository'mizde görebilirsiniz.

Kodlamaya devam etmeden önce Readme Chronicle'da verilen standartları okuduğunuzdan ve Raspberry Pi'nizi bu kodda belirtildiği şekilde kurduğunuzdan emin olun. Mevcut koşullar ışığında bunu yapmak bir dakikalığına rahatlayacaktır.

İ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. # MMA7455L # Bu kod, dcubestore.com adresinde bulunan MMA7455L_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır # https://dcubestore.com/product/mma7455l-3-axis-low-g-digital-output-accelerometer-i%C2 %B2c-mini modül/

smbus'u içe aktar

ithalat zamanı

# I2C veri yolunu alın

veri yolu = smbus. SMBus(1)

# MMA7455L adresi, 0x1D(16)

# Seçim modu kontrol kaydı, 0x16(22) # 0x01(01) Ölçüm Modu, +/- 8g bus.write_byte_data(0x1D, 0x16, 0x01)

zaman.uyku(0.5)

# MMA7455L adresi, 0x1D(16)

# 0x00(00), 6 bayttan veri geri oku 0x00, 6)

# Veriyi 10 bit'e dönüştürün

xAccl = (veri[1] & 0x03) * xAccl > 511 ise 256 + data [0]: xAccl -= 1024 yAccl = (veri[3] & 0x03) * yAccl > 511 ise 256 + data [2]: yAccl - = 1024 zAccl = (veri[5] & 0x03) * zAccl > 511 ise 256 + veri [4]: 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

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 sonra, parametrelerin her birini gösterecektir. Her şeyin kolayca yürümesini sağlamanın ardından, bu gezintiyi her gün kullanabilir veya bu gezintiyi çok daha önemli bir görevin küçük bir parçası haline getirebilirsiniz. İhtiyaçlarınız ne olursa olsun, artık toplantınızda bir mekanizma daha var.

Adım 5: Uygulamalar ve Özellikler

Freescale Semiconductor tarafından üretilen, düşük güçlü, yüksek performanslı 3 eksenli bir dijital ivmeölçer olan MMA7455, Sensör Veri Değişiklikleri, Ürün Oryantasyonu ve Hareket Algılama için kullanılabilir. Cep Telefonu/PMP/PDA gibi uygulamalar için mükemmeldir: Yön Algılama (Portre/Yatay), Görüntü Sabitliği, Metin Kaydırma, Hareketle Arama, Sessize Almak için Dokun, Dizüstü Bilgisayar: Hırsızlığa Karşı Koruma, Oyun: Hareket Algılama, Otomatik Uyanma/ Düşük Güç Tüketimi ve Dijital Fotoğraf Makinesi İçin Uyku: Görüntü Kararlılığı.

6. Adım: Sonuç

Raspberry Pi ve I2C sensörlerinin evrenini keşfetmeyi düşünüyorsanız, donanım temellerini, kodlamayı, düzenlemeyi, yetkinliği vb. kullanarak kendinizi şok edebilirsiniz. Daha yaratıcı olmaya çalışırken. küçük bir girişim, dış kaynaklara yönelmek asla zarar vermez. Bu yöntemde, basit olabilecek birkaç iş 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 MMA7455 ve Raspberry Pi ile Dünyanın Yerel Yerçekimi Alanını ölçmek için bir Gravimetre Prototipi düşüncesiyle başlayabilirsiniz. Yukarıdaki girişimde, temel hesaplamaları kullandık. Tasarımın temel prensibi, Dünya'nın 1 g'lık yerçekimi içindeki çok küçük fraksiyonel değişiklikleri ölçmektir. Böylece bu sensörü, düşünebileceğiniz çeşitli şekillerde kullanabilirsiniz. Algoritma, bir yerçekimi gradyan tensörüne yol açan üç dikey yönün tamamında dikey yerçekimi vektörünün değişim oranını ölçmektir. Küçük bir dikey mesafe, l ile ayrılmış iki noktada yerçekimi değerinin farkını alarak ve bu mesafeye bölerek çıkarılabilir. Yapıdan kaynaklanan gürültü ve titreşim analizi için konfigürasyon, kod ve modelleme çalışmalarını er ya da geç bu prototipin çalışan bir yorumunu yapmaya çalışacağız. Hepinizin beğendiğine inanıyoruz!

Teselliniz için YouTube'da muayenenize yardımcı olabilecek büyüleyici bir videomuz var. Bu çabaya güvenin, daha fazla araştırmayı yönlendirin. Fırsat kapıyı çalmazsa, bir kapı inşa edin.

Önerilen: