Isi kandungan:
- Langkah 1: Perkakasan Diperlukan:
- Langkah 2: Penyambungan Perkakasan:
- Langkah 3: Kod untuk Penjejakan Gerak:
- Langkah 4: Aplikasi:
Video: Penjejakan Gerak Menggunakan MPU-6000 dan Raspberry Pi: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
MPU-6000 adalah Sensor Pelacakan Gerakan 6-Paksi yang mempunyai akselerometer 3-Paksi dan giroskop 3-Paksi yang tertanam di dalamnya. Sensor ini mampu mengesan kedudukan dan lokasi objek dengan tepat dalam satah 3 dimensi. Ia dapat digunakan dalam sistem yang memerlukan analisis kedudukan dengan ketepatan tertinggi.
Dalam tutorial ini, antara muka modul sensor MPU-6000 dengan raspberry pi telah digambarkan. Untuk membaca nilai pecutan dan sudut putaran, kami telah menggunakan raspberry pi dengan penyesuai I2c. Penyesuai I2C ini menjadikan sambungan ke modul sensor mudah dan lebih dipercayai.
Langkah 1: Perkakasan Diperlukan:
Bahan yang kami perlukan untuk mencapai tujuan kami merangkumi komponen perkakasan berikut:
1. MPU-6000
2. Raspberry Pi
3. Kabel I2C
4. I2C Shield untuk raspberry pi
5. Kabel Ethernet
Langkah 2: Penyambungan Perkakasan:
Bahagian penyambungan perkakasan pada dasarnya menerangkan sambungan pendawaian yang diperlukan antara sensor dan raspberry pi. Memastikan sambungan yang betul adalah keperluan asas semasa mengerjakan sistem apa pun untuk output yang diinginkan. Jadi, sambungan yang diperlukan adalah seperti berikut:
MPU-6000 akan berfungsi di atas I2C. Berikut adalah contoh rajah pendawaian, yang menunjukkan cara memasang setiap antara muka sensor.
Di luar kotak, papan dikonfigurasikan untuk antara muka I2C, oleh itu kami mengesyorkan menggunakan penyambungan ini jika anda tidak agnostik.
Yang anda perlukan hanyalah empat wayar! Hanya diperlukan empat sambungan pin Vcc, Gnd, SCL dan SDA dan ini disambungkan dengan bantuan kabel I2C.
Sambungan ini ditunjukkan dalam gambar di atas.
Langkah 3: Kod untuk Penjejakan Gerak:
Kelebihan menggunakan raspberry pi adalah, yang memberi anda fleksibiliti bahasa pengaturcaraan di mana anda ingin memprogram papan untuk menghubungkan antara sensor dengannya. Dengan memanfaatkan kelebihan papan ini, kami menunjukkan di sini pengaturcaraannya di python. Python adalah salah satu bahasa pengaturcaraan termudah dengan sintaks termudah. Kod python untuk MPU-6000 boleh dimuat turun dari komuniti GitHub kami iaitu Dcube Store
Serta untuk kemudahan pengguna, kami menerangkan kodnya di sini juga:
Sebagai langkah pertama pengekodan, anda perlu memuat turun perpustakaan SMBus sekiranya terdapat python kerana perpustakaan ini menyokong fungsi yang digunakan dalam kod. Oleh itu, untuk memuat turun perpustakaan anda boleh melayari pautan berikut:
pypi.python.org/pypi/smbus-cffi/0.5.1
Anda boleh menyalin kod kerja dari sini juga:
import smbus
masa import
# Dapatkan bus2 I2C = smbus. SMBus (1)
# MPU-6000 alamat, 0x68 (104)
# Pilih daftar konfigurasi giroskop, 0x1B (27)
# 0x18 (24) Julat skala penuh = 2000 dps
bas.write_byte_data (0x68, 0x1B, 0x18)
# MPU-6000 alamat, 0x68 (104)
# Pilih daftar konfigurasi pecutan, 0x1C (28)
# 0x18 (24) Julat skala penuh = +/- 16g
bas.write_byte_data (0x68, 0x1C, 0x18)
# MPU-6000 alamat, 0x68 (104)
# Pilih daftar pengurusan kuasa 1, 0x6B (107)
# 0x01 (01) PLL dengan rujukan xGyro
bas.write_byte_data (0x68, 0x6B, 0x01)
masa. tidur (0.8)
# MPU-6000 alamat, 0x68 (104)
# Baca kembali data dari 0x3B (59), 6 bait
# Accelerometer X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB
data = bas.read_i2c_block_data (0x68, 0x3B, 6)
# Tukarkan data
xAccl = data [0] * 256 + data [1]
jika xAccl> 32767:
xAccl - = 65536
yAccl = data [2] * 256 + data [3]
jika yAccl> 32767:
yAccl - = 65536
zAccl = data [4] * 256 + data [5]
jika zAccl> 32767:
zAccl - = 65536
# MPU-6000 alamat, 0x68 (104)
# Baca kembali data dari 0x43 (67), 6 bait
# Gyrometer X-Axis MSB, X-Axis LSB, Y-Axis MSB, Y-Axis LSB, Z-Axis MSB, Z-Axis LSB
data = bas.read_i2c_block_data (0x68, 0x43, 6)
# Tukarkan data
xGyro = data [0] * 256 + data [1]
jika xGyro> 32767:
xGyro - = 65536
yGyro = data [2] * 256 + data [3]
jika yGyro> 32767:
yGyro - = 65536
zGyro = data [4] * 256 + data [5]
jika zGyro> 32767:
zGyro - = 65536
# Keluarkan data ke skrin
cetak "Pecutan dalam X-Axis:% d"% xAccl
cetak "Pecutan dalam Paksi-Y:% d"% yAccl
cetak "Pecutan dalam Z-Axis:% d"% zAccl
cetak "X-Axis of Rotation:% d"% xGyro
cetak "Y-Axis of Rotation:% d"% yGyro
cetak "Z-Axis of Rotation:% d"% zGyro
Kod tersebut dilaksanakan dengan menggunakan arahan berikut:
$> python MPU-6000.py gt; python MPU-6000.py
Output sensor ditunjukkan pada gambar di atas untuk rujukan pengguna.
Langkah 4: Aplikasi:
MPU-6000 adalah sensor pengesan gerakan, yang dapat digunakan dalam antarmuka gerakan telefon pintar dan tablet. Di telefon pintar, sensor ini dapat digunakan dalam aplikasi seperti perintah isyarat untuk aplikasi dan pengendalian telefon, permainan yang disempurnakan, augmented reality, penangkapan dan tontonan foto panorama, dan navigasi pejalan kaki dan kenderaan. Teknologi MotionTracking dapat menukar telefon bimbit dan tablet menjadi peranti pintar 3D yang kuat yang dapat digunakan dalam aplikasi mulai dari pemantauan kesihatan dan kecergasan hingga layanan berdasarkan lokasi.
Disyorkan:
Sistem Penjejakan Gerak Kepala untuk VR: 8 Langkah
Head Motion Tracking System untuk VR: Nama saya Sam KODO, Dalam tuto ini, saya akan mengajar anda langkah demi langkah bagaimana menggunakan sensor Arduino IMU untuk membina sistem penjejakan kepala untuk VR. Dalam projek ini, anda akan memerlukan: - LCD Display HDMI : https: //www.amazon.com/Elecrow-Capacitive-interfac…- Satu
QeMotion - Penjejakan Gerak untuk Setiap Headset !: 5 Langkah (dengan Gambar)
QeMotion - Pelacakan Gerak untuk Setiap Headset !: Gambaran keseluruhan: Peranti ini membolehkan anda memanfaatkan pergerakan kepala anda untuk mencetuskan peristiwa pada dasarnya permainan video apa pun. Ia berfungsi dengan mengesan pergerakan kepala anda (atau headset yang berkenaan) dan mencetuskan menekan papan kekunci untuk pergerakan tertentu. Oleh itu, komp
Penjejakan Gerak Mata Menggunakan Sensor Inframerah: 5 Langkah
Penjejakan Gerakan Mata Menggunakan Sensor Inframerah: Saya menggunakan sensor inframerah untuk merasakan pergerakan mata dan mengawal LED. Saya membuat bola mata dengan LED Tape NeoPixel
Penjejakan Gerak Tfcd 3D Melalui Sensasi Kapasitif dan Output LED: 6 Langkah (dengan Gambar)
Tfcd 3D Motion Tracking Through Capacitive Sensing dan LED Output: Dalam arahan ini dijelaskan bagaimana pergerakan tangan dapat dilacak dalam ruang 3D dengan menggunakan prinsip penginderaan kapasitif. Dengan menukar jarak antara kerajang aluminium yang dicas dan tangan anda, kapasiti kapasitor akan berubah
Outlet Dikawal Gerak - Dari Lampu Sensor Gerak: 6 Langkah
Outlet Dikawal Gerakan - Dari Lampu Sensor Gerak: Bayangkan anda adalah tipu muslihat atau pergi ke rumah paling menakutkan di blok itu. Setelah melewati semua hantu, hantu dan kubur anda akhirnya sampai ke jalan terakhir. Anda dapat melihat gula-gula dalam mangkuk di hadapan anda! Tetapi tiba-tiba gho