İçindekiler:
- Adım 1: Donanım Gerekli:
- Adım 2: Donanım Bağlantısı:
- 3. Adım: Hareket İzleme Kodu:
- Adım 4: Uygulamalar:
Video: MPU-6000 ve Raspberry Pi Kullanarak Hareket İzleme: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
MPU-6000, içinde 3 Eksen ivmeölçer ve 3 Eksen jiroskop bulunan 6 Eksenli Hareket İzleme Sensörüdür. Bu sensör, 3 boyutlu düzlemde bir nesnenin tam konumunu ve konumunu verimli bir şekilde takip etme yeteneğine sahiptir. En yüksek hassasiyette pozisyon analizi gerektiren sistemlerde kullanılabilir.
Bu eğitimde, MPU-6000 sensör modülünün ahududu pi ile arayüzlenmesi gösterilmiştir. İvme ve dönüş açısı değerlerini okumak için I2c adaptörlü ahududu pi kullandık. Bu I2C adaptörü sensör modülüne bağlantıyı daha kolay ve daha güvenilir hale getiriyor.
Adım 1: Donanım Gerekli:
Hedefimizi gerçekleştirmek için ihtiyaç duyduğumuz malzemeler aşağıdaki donanım bileşenlerini içerir:
1. MPU-6000
2. Ahududu Pi
3. I2C Kablosu
4. Ahududu pi için I2C Kalkanı
5. Ethernet kablosu
Adım 2: Donanım Bağlantısı:
Donanım bağlantısı bölümü temel olarak sensör ve ahududu pi arasında gerekli olan kablo bağlantılarını açıklar. İstenilen çıktı için herhangi bir sistem üzerinde çalışırken doğru bağlantıların sağlanması temel zorunluluktur. Yani, gerekli bağlantılar aşağıdaki gibidir:
MPU-6000, I2C üzerinden çalışacaktır. Sensörün her bir arayüzünün nasıl bağlanacağını gösteren örnek kablo şeması buradadır.
Kutudan çıktığı gibi, kart bir I2C arayüzü için yapılandırılmıştır, bu nedenle, aksi takdirde agnostik iseniz bu bağlantıyı kullanmanızı öneririz.
Tek ihtiyacınız olan dört tel! Vcc, Gnd, SCL ve SDA pinlerinden sadece dört bağlantı gereklidir ve bunlar I2C kablosu yardımıyla bağlanır.
Bu bağlantılar yukarıdaki resimlerde gösterilmiştir.
3. Adım: Hareket İzleme Kodu:
Raspberry pi kullanmanın avantajı, kartı programlamak istediğiniz programlama dilinin, sensör ile arayüz oluşturmak için size esneklik sağlamasıdır. Bu kartın bu avantajından yararlanarak, burada programlamasını python'da gösteriyoruz. Python, en kolay sözdizimine sahip en kolay programlama dillerinden biridir. MPU-6000 için python kodu, Dcube Store olan GitHub topluluğumuzdan indirilebilir.
Kullanıcıların kolaylığının yanı sıra, kodu burada da açıklıyoruz:
Kodlamanın ilk adımı olarak python olması durumunda SMBus kütüphanesini indirmeniz gerekiyor çünkü bu kütüphane kodda kullanılan fonksiyonları destekliyor. Bu nedenle, kütüphaneyi indirmek için aşağıdaki bağlantıyı ziyaret edebilirsiniz:
pypi.python.org/pypi/smbus-cffi/0.5.1
Çalışma kodunu buradan da kopyalayabilirsiniz:
smbus'u içe aktar
ithalat zamanı
# I2C veri yolunu al = smbus. SMBus(1)
# MPU-6000 adresi, 0x68(104)
# Jiroskop konfigürasyon kaydını seçin, 0x1B(27)
# 0x18(24) Tam ölçek aralığı = 2000 dps
bus.write_byte_data(0x68, 0x1B, 0x18)
# MPU-6000 adresi, 0x68(104)
# İvmeölçer yapılandırma kaydını seçin, 0x1C(28)
# 0x18(24) Tam ölçek aralığı = +/-16g
bus.write_byte_data(0x68, 0x1C, 0x18)
# MPU-6000 adresi, 0x68(104)
# Güç yönetimi kaydı seçin1, 0x6B(107)
# 0x01(01) xGyro referanslı PLL
bus.write_byte_data(0x68, 0x6B, 0x01)
zaman.uyku(0.8)
# MPU-6000 adresi, 0x68(104)
# 0x3B(59), 6 bayttan veriyi geri oku
# İvmeölçer X Ekseni MSB, X Ekseni LSB, Y Ekseni MSB, Y Ekseni LSB, Z Ekseni MSB, Z Ekseni LSB
veri = bus.read_i2c_block_data(0x68, 0x3B, 6)
# Verileri dönüştürün
xAccl = veri[0] * 256 + veri[1]
xAccl > 32767 ise:
xAccl -= 65536
yAccl = veri[2] * 256 + veri[3]
yAccl > 32767 ise:
yAccl -= 65536
zAccl = veri[4] * 256 + veri[5]
zAccl > 32767 ise:
zAccl -= 65536
# MPU-6000 adresi, 0x68(104)
# 0x43(67), 6 bayttan veriyi geri oku
# Jirometre X Ekseni MSB, X Ekseni LSB, Y Ekseni MSB, Y Ekseni LSB, Z Ekseni MSB, Z Ekseni LSB
veri = bus.read_i2c_block_data(0x68, 0x43, 6)
# Verileri dönüştürün
xGyro = veri[0] * 256 + veri[1]
xGyro > 32767 ise:
xGyro -= 65536
yGyro = veri[2] * 256 + veri[3]
yGyro > 32767 ise:
yGyro -= 65536
zGyro = veri[4] * 256 + veri[5]
zGyro > 32767 ise:
zGyro -= 65536
# Ekrana veri çıkışı
print "X Ekseninde Hızlanma: %d" %xAccl
print "Y Ekseninde Hızlanma: %d" %yAccl
print "Z-Ekseninde Hızlanma: %d" %zAccl
print "X-Ekseni Dönme: %d" %xGyro
print "Y-Ekseni Dönme: %d" %yGyro
print "Z-Dönme Ekseni: %d" %zGyro
Kod aşağıdaki komut kullanılarak yürütülür:
$> piton MPU-6000.py gt; piton MPU-6000.py
Sensörün çıkışı, kullanıcının referans olması için yukarıdaki resimde gösterilmektedir.
Adım 4: Uygulamalar:
MPU-6000, uygulamasını akıllı telefonların ve tabletlerin hareket arayüzünde bulan bir hareket izleme sensörüdür. Akıllı telefonlarda bu sensörler, uygulamalar ve telefon kontrolü için hareket komutları, gelişmiş oyun, artırılmış gerçeklik, panoramik fotoğraf çekme ve görüntüleme, yaya ve araç navigasyonu gibi uygulamalarda kullanılabilir. MotionTracking teknolojisi, el cihazlarını ve tabletleri, sağlık ve fitness izlemeden konum tabanlı hizmetlere kadar çeşitli uygulamalarda kullanılabilen güçlü 3D akıllı cihazlara dönüştürebilir.
Önerilen:
MCP9808 ve Raspberry Pi Kullanarak Sıcaklık İzleme: 4 Adım
MCP9808 ve Raspberry Pi Kullanarak Sıcaklık İzleme: MCP9808, son derece hassas bir dijital sıcaklık sensörü ±0.5°C I2C mini modülüdür. Sıcaklık algılama uygulamalarını kolaylaştıran, kullanıcı tarafından programlanabilen kayıtlarla yapılandırılmışlardır. MCP9808 yüksek hassasiyetli sıcaklık sensörü bir endüstri haline geldi
DIY Akıllı Robot İzleme Araç Kitleri Araba İzleme Işığa Duyarlı: 7 Adım
DIY Akıllı Robot Takip Araç Kitleri Araba Takip Işığa Duyarlı: Design by SINONING ROBOTTizleme robotu carTheoryLM393 çipinden satın alabilirsiniz, iki fotodirenci karşılaştırın, bir tarafı BEYAZ üzerinde fotodirenç LED'i olduğunda motorun tarafı hemen duracak, motorun diğer tarafı döndür, böylece
Adosia IoT WiFi Controller + Hareket Algılama Kullanarak Kertenkele Teraryumu İzleme: 17 Adım (Resimlerle)
Adosia IoT WiFi Controller + Hareket Algılama Kullanarak Bir Kertenkele Teraryumunu İzleme: Bu derste, dışarıda bahçe yaparken yanlışlıkla bulduğumuz ve rahatsız ettiğimiz bir avuç skink yumurta için basit bir kertenkele teraryumunun nasıl yapıldığını göstereceğiz. Yumurtaların güvenli bir şekilde yumurtadan çıkmasını istiyoruz, yani tek yapacağımız bir plast kullanarak güvenli bir alan yaratmak
Raspberry Pi ve AIS328DQTR Kullanarak Hızlandırmayı Python Kullanarak İzleme: 6 Adım
Raspberry Pi ve AIS328DQTR Kullanarak İvmeyi Python Kullanarak İzleme: İvme sonludur, bence bazı Fizik yasalarına göre. Karaya çıkan en hızlı yaratık, arada bir avını yakalamak için en yüksek hızını kullanır. NS
Hareket Kontrollü Çıkış - Hareket Algılayıcı Işıktan: 6 Adım
Hareket Kontrollü Çıkış - Hareket Algılama Işığından: Bloktaki en korkunç eve giden bir şeker mi şaka mı olduğunuzu hayal edin. Tüm hortlakları, hayaletleri ve mezarlıkları geçtikten sonra nihayet son yola ulaşırsınız. Şekeri önünüzde bir kasede görebilirsiniz! Ama sonra aniden bir gho