Mundarija:
- 1 -qadam: Uskuna kerak:
- 2 -qadam: Uskuna ulanishi:
- 3 -qadam: Harakatni kuzatish kodi:
- 4 -qadam: Ilovalar:
Video: MPU-6000 va Raspberry Pi yordamida harakatni kuzatish: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
MPU-6000-bu 6 o'qli harakatni kuzatish sensori, uning ichiga 3 o'qli akselerometr va 3 o'qli giroskop o'rnatilgan. Bu sensor ob'ektning 3 o'lchovli tekislikdagi aniq joylashuvi va joylashuvini samarali kuzatishga qodir. U yuqori aniqlikdagi pozitsion tahlilni talab qiladigan tizimlarda ishlatilishi mumkin.
Ushbu qo'llanmada MPU-6000 sensori modulining malina pi bilan o'zaro ta'siri tasvirlangan. Tezlik va aylanish burchagi qiymatlarini o'qish uchun I2c adapterli malina pi ishlatilgan, bu I2C adapteri sensor moduliga ulanishni oson va ishonchli qiladi.
1 -qadam: Uskuna kerak:
Maqsadga erishish uchun bizga kerak bo'lgan materiallar quyidagi apparat komponentlarini o'z ichiga oladi:
1. MPU-6000
2. Raspberry Pi
3. I2C kabeli
4. Malina pi uchun I2C qalqoni
5. Ethernet kabeli
2 -qadam: Uskuna ulanishi:
Uskuna ulanish bo'limi, asosan, sensori va malina pi o'rtasida zarur bo'lgan simi ulanishlarini tushuntiradi. To'g'ri ulanishni ta'minlash har qanday tizimda kerakli chiqish uchun ishlashning asosiy zarurati hisoblanadi. Shunday qilib, kerakli ulanishlar quyidagilar:
MPU-6000 I2C ustida ishlaydi. Sensorning har bir interfeysini qanday ulash kerakligini ko'rsatadigan simlar sxemasi.
Qutidan tashqari, taxta I2C interfeysi uchun tuzilgan, shuning uchun agar siz agnostik bo'lsangiz, biz ushbu ulanishni ishlatishni maslahat beramiz.
Sizga faqat to'rtta sim kerak! Vcc, Gnd, SCL va SDA pinlari uchun faqat to'rtta ulanish kerak va ular I2C kabeli yordamida ulangan.
Bu ulanishlar yuqoridagi rasmlarda ko'rsatilgan.
3 -qadam: Harakatni kuzatish kodi:
Malinali pi -ni ishlatishning afzalligi shundaki, u sizga sensorni interfeysga ulash uchun taxtani dasturlashni xohlagan dasturlash tilining moslashuvchanligini ta'minlaydi. Ushbu taxtaning afzalliklaridan foydalanib, biz bu erda uning pitonda dasturlashini namoyish qilamiz. Python - sintaksisiga ega bo'lgan eng oson dasturlash tillaridan biri. MPU-6000 uchun python kodini bizning GitHub hamjamiyatidan yuklab olish mumkin, bu Dcube do'koni
Foydalanuvchilarning qulayligi uchun biz bu erda ham kodni tushuntiramiz:
Kodlashning birinchi bosqichi sifatida siz python holatida SMBus kutubxonasini yuklab olishingiz kerak, chunki bu kutubxona kodda ishlatiladigan funktsiyalarni qo'llab -quvvatlaydi. Shunday qilib, kutubxonani yuklab olish uchun quyidagi havolaga kirishingiz mumkin:
pypi.python.org/pypi/smbus-cffi/0.5.1
Ish kodini bu erdan nusxalashingiz mumkin:
smbus import qilish
import vaqti
# I2C avtobusini oling = smbus. SMBus (1)
# MPU-6000 manzili, 0x68 (104)
# Giroskop konfiguratsiya registrini tanlang, 0x1B (27)
# 0x18 (24) To'liq o'lchov diapazoni = 2000 dps
bus.write_byte_data (0x68, 0x1B, 0x18)
# MPU-6000 manzili, 0x68 (104)
# Accelerometer konfiguratsiya registrini tanlang, 0x1C (28)
# 0x18 (24) To'liq o'lchov diapazoni = +/- 16g
bus.write_byte_data (0x68, 0x1C, 0x18)
# MPU-6000 manzili, 0x68 (104)
# Quvvatni boshqarish registrini tanlang1, 0x6B (107)
XGyro mos yozuvlar bilan # 0x01 (01) PLL
bus.write_byte_data (0x68, 0x6B, 0x01)
uyqu (0,8)
# MPU-6000 manzili, 0x68 (104)
# 0x3B (59), 6 baytdan ma'lumotlarni o'qing
# Akselerometr X o'qi MSB, X o'qi LSB, Y o'qi MSB, Y o'qi LSB, Z o'qi MSB, Z o'qi LSB
ma'lumotlar = bus.read_i2c_block_data (0x68, 0x3B, 6)
# Ma'lumotni aylantirish
xAccl = ma'lumotlar [0] * 256 + ma'lumotlar [1]
agar xAccl> 32767:
xAccl -= 65536
yAccl = ma'lumotlar [2] * 256 + ma'lumotlar [3]
agar yAccl> 32767 bo'lsa:
yAccl -= 65536
zAccl = ma'lumotlar [4] * 256 + ma'lumotlar [5]
agar zAccl> 32767:
zAccl -= 65536
# MPU-6000 manzili, 0x68 (104)
# 0x43 (67), 6 baytdan ma'lumotlarni o'qing
# X-o'qi MSB, X o'qi LSB, Y o'qi MSB, Y o'qi LSB, Z o'qi MSB, Z o'qi LSB girometri
ma'lumotlar = bus.read_i2c_block_data (0x68, 0x43, 6)
# Ma'lumotni aylantirish
xGyro = ma'lumotlar [0] * 256 + ma'lumotlar [1]
agar xGyro> 32767 bo'lsa:
xGyro -= 65536
yGyro = ma'lumotlar [2] * 256 + ma'lumotlar [3]
agar yGyro> 32767 bo'lsa:
yGyro -= 65536
zGyro = ma'lumotlar [4] * 256 + ma'lumotlar [5]
agar zGyro> 32767 bo'lsa:
zGyro -= 65536
# Ma'lumotlarni ekranga chiqarish
chop etish "X o'qida tezlashtirish: %d" %xAccl
chop etish "Y o'qida tezlashtirish: %d" %yAccl
chop etish "Z o'qida tezlashtirish: %d" %zAccl
"X-o'qi aylanish o'qi: %d" %xGyro-ni chop eting
chop etish "Y-o'qi aylanishi: %d" %yGyro
chop etish "Z-aylanish o'qi: %d" %zGyro
Kod quyidagi buyruq yordamida bajariladi:
$> python MPU-6000.py gt; python MPU-6000.py
Sensor chiqishi foydalanuvchining ma'lumoti uchun yuqoridagi rasmda ko'rsatilgan.
4 -qadam: Ilovalar:
MPU-6000-bu harakatni kuzatish sensori bo'lib, u o'z qo'llanilishini smartfon va planshetlarning harakatlanish interfeysida topadi. Smartfonlarda bu sensorlar ilovalar va telefonni boshqarish uchun imo -ishorali buyruqlar, kengaytirilgan o'yin, kengaytirilgan haqiqat, panoramali suratga olish va ko'rish, piyodalar va transportda navigatsiya kabi ilovalarda ishlatilishi mumkin. MotionTracking texnologiyasi telefonlar va planshetlarni sog'liqni saqlash va fitnes monitoringi, joylashuvga asoslangan xizmatlarga qadar qo'llaniladigan 3D aqlli qurilmalarga aylantirishi mumkin.
Tavsiya:
Python yordamida Raspberry Pi va LIS3DHTR, 3 o'qli akselerometr yordamida harakatni boshqarish: 6 qadam
Python yordamida Raspberry Pi va LIS3DHTR, 3 o'qli akselerometr yordamida harakatni boshqarish: Go'zallik bizni o'rab oladi, lekin odatda biz buni bilish uchun bog'da yurishimiz kerak. - Biz o'qimishli guruh sifatida biz energiyamizning katta qismini kompyuter va mobil telefonlarimizdan oldin sarflaymiz. Shuning uchun, biz tez -tez o'z sog'ligimizga ruxsat beramiz
QeMotion - Har bir naushnik uchun harakatni kuzatish: 5 qadam (rasmlar bilan)
QeMotion - Har bir naushnik uchun harakatni kuzatish !: Umumiy nuqtai: Ushbu qurilma, asosan, har qanday video o'yinlaridagi voqealarni tetiklash uchun bosh harakatidan foydalanish imkonini beradi. Bu sizning boshingiz harakatini kuzatib borish (yoki eshitish vositasi) va ma'lum harakatlar uchun klaviatura tugmalarini bosish orqali ishlaydi. Shunday qilib, sizning komp
Python yordamida Raspberry Pi va AIS328DQTR yordamida tezlashtirishni kuzatish: 6 qadam
Python yordamida Raspberry Pi va AIS328DQTR yordamida tezlashtirishni kuzatish: Menimcha, tezlanish- bu fizikaning ba'zi qonunlariga muvofiq.- Terri Rayli Gepard quvishda tezlikni tez o'zgarishini va tez o'zgarishini qo'llaydi. Eng tez qirg'oqqa chiqadigan jonivor, o'ljani tutish uchun tezligidan foydalanadi.
Python yordamida Raspberry Pi va MMA7455 yordamida tezlashuv turlarini kuzatish: 6 qadam
Python yordamida Raspberry Pi va MMA7455 yordamida tezlashuv turlarini kuzatish: men qoqilmadim, tortish kuchini sinab ko'rdim. Bu hali ham ishlaydi … Tezlashib borayotgan kosmik kemaning tasviri shuni ko'rsatdiki, tortishish vaqtining kengayishi tufayli, sayyoraning eng yuqori nuqtasida joylashgan soat bazadagi tezlikdan ko'ra tezroq bo'ladi. Biroz
Raspberry Pi yordamida harakatni aniqlash: 4 qadam
Raspberry Pi yordamida harakatni aniqlash: Oddiy harakat detektori yaratish uchun Raspberry Pi yordamida PIR (Passiv InfraRed) sensori qanday ishlatilishini bilib olamiz, u odamlarning, hayvonlarning yoki boshqa ob'ektlar. Ular odatda burgda ishlatiladi