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 Foton Zarah: 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 foton zarah telah digambarkan. Untuk membaca nilai pecutan dan sudut putaran, kami telah menggunakan zarah dengan penyesuai I2c. Penyesuai I2C ini menjadikan sambungan ke modul sensor mudah dan lebih dipercayai.
Langkah 1: Perkakasan Diperlukan:
Bahan yang diperlukan untuk menyelesaikan tugas kami merangkumi komponen perkakasan yang disebutkan di bawah:
1. MPU-6000
2. Foton Zarah
3. Kabel I2C
4. Perisai I2C untuk foton zarah
Langkah 2: Penyambungan Perkakasan:
Bahagian penyambungan perkakasan pada dasarnya menerangkan sambungan pendawaian yang diperlukan antara sensor dan foton zarah. 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:
Mari mulakan dengan kod zarah sekarang.
Semasa menggunakan modul sensor dengan arduino, kami menyertakan library application.h dan spark_wiring_i2c.h. Perpustakaan "application.h" dan spark_wiring_i2c.h mengandungi fungsi yang memudahkan komunikasi i2c antara sensor dan zarah.
Keseluruhan kod zarah diberikan di bawah untuk kemudahan pengguna:
# include # include // Alamat MPU-6000 I2C adalah 0x68 (104) #define Addr 0x68 int xGyro = 0, yGyro = 0, zGyro = 0, xAccl = 0, yAccl = 0, zAccl = 0; sia-sia persediaan () {// Tetapkan pemboleh ubah Particle.variable ("i2cdevice", "MPU-6000"); Particle.variable ("xAccl", xAccl); Particle.variable ("yAccl", yAccl); Particle.variable ("zAccl", zAccl); Particle.variable ("xGyro", xGyro); Particle.variable ("yGyro", yGyro); Particle.variable ("zGyro", zGyro); // Memulakan komunikasi I2C sebagai Master Wire.begin (); // Mulakan komunikasi bersiri, tetapkan kadar baud = 9600 Serial.begin (9600); // Mulakan penghantaran I2C Wire.beginTransmission (Addr); // Pilih daftar konfigurasi giroskop Wire.write (0x1B); // Julat skala penuh = 2000 dps Wire.write (0x18); // Hentikan penghantaran I2C Wire.endTransmission (); // Mulakan transmisi I2C Wire.beginTransmission (Addr); // Pilih register konfigurasi pecutan Wire.write (0x1C); // Julat skala penuh = +/- 16g Wire.write (0x18); // Hentikan penghantaran I2C Wire.endTransmission (); // Mulakan transmisi I2C Wire.beginTransmission (Addr); // Pilih daftar pengurusan kuasa Wire.write (0x6B); // PLL dengan rujukan xGyro Wire.write (0x01); // Hentikan penghantaran I2C Wire.endTransmission (); kelewatan (300); } gelung kosong () {data int yang tidak ditandatangani [6]; // Mulakan penghantaran I2C Wire.beginTransmission (Addr); // Pilih daftar data Wire.write (0x3B); // Hentikan penghantaran I2C Wire.endTransmission (); // Minta 6 bait data Wire.requestFrom (Addr, 6); // Baca 6 bait data jika (Wire.available () == 6) {data [0] = Wire.read (); data [1] = Wire.read (); data [2] = Wire.read (); data [3] = Wire.read (); data [4] = Wire.read (); data [5] = Wire.read (); } kelewatan (800); // Tukarkan data xAccl = ((data [1] * 256) + data [0]); jika (xAccl> 32767) {xAccl - = 65536; } yAccl = ((data [3] * 256) + data [2]); jika (yAccl> 32767) {yAccl - = 65536; } zAccl = ((data [5] * 256) + data [4]); jika (zAccl> 32767) {zAccl - = 65536; } kelewatan (800); // Mulakan penghantaran I2C Wire.beginTransmission (Addr); // Pilih daftar data Wire.write (0x43); // Hentikan penghantaran I2C Wire.endTransmission (); // Minta 6 bait data Wire.requestFrom (Addr, 6); // Baca 6 bait data jika (Wire.available () == 6) {data [0] = Wire.read (); data [1] = Wire.read (); data [2] = Wire.read (); data [3] = Wire.read (); data [4] = Wire.read (); data [5] = Wire.read (); } // Tukarkan data xGyro = ((data [1] * 256) + data [0]); jika (xGyro> 32767) {xGyro - = 65536; } yGyro = ((data [3] * 256) + data [2]); jika (yGyro> 32767) {yGyro - = 65536; } zGyro = ((data [5] * 256) + data [4]); jika (zGyro> 32767) {zGyro - = 65536; } // Output data ke dashboard Particle.publish ("Pecutan dalam X-Axis:", String (xAccl)); kelewatan (1000); Particle.publish ("Pecutan dalam Paksi Y:", Rentetan (yAccl)); kelewatan (1000); Particle.publish ("Pecutan dalam Z-Axis:", String (zAccl)); kelewatan (1000); Particle.publish ("X-Axis of Rotation:", String (xGyro)); kelewatan (1000); Particle.publish ("Y-Axis of Rotation:", String (yGyro)); kelewatan (1000); Particle.publish ("Z-Axis of Rotation:", String (zGyro)); kelewatan (1000); }
Fungsi Particle.variable () mencipta pemboleh ubah untuk menyimpan output sensor dan fungsi Particle.publish () memaparkan output di papan pemuka laman web.
Output sensor ditunjukkan dalam gambar di atas untuk rujukan anda.
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:
Pengukuran Medan Magnetik Menggunakan HMC5883 dan Foton Zarah: 4 Langkah
Pengukuran Medan Magnetik Menggunakan HMC5883 dan Foton Partikel: HMC5883 adalah kompas digital yang direka untuk penderiaan medan rendah. Peranti ini mempunyai jarak medan magnet yang luas +/- 8 Oe dan kadar output 160 Hz. Sensor HMC5883 merangkumi pemacu tali degaussing automatik, pembatalan ofset, dan
Pengukuran Kelembapan Menggunakan HYT939 dan Foton Zarah: 4 Langkah
Pengukuran Kelembapan Menggunakan HYT939 dan Foton Partikel: HYT939 adalah sensor kelembapan digital yang berfungsi pada protokol komunikasi I2C. Kelembapan adalah parameter penting dalam sistem perubatan dan makmal. Oleh itu, untuk mencapai tujuan ini, kami berusaha untuk menghubungkan HYT939 dengan raspberry pi. Saya
Pemantauan Suhu dan Kelembapan Menggunakan SHT25 dan Foton Zarah: 5 Langkah
Pemantauan Suhu dan Kelembapan Menggunakan SHT25 dan Foton Partikel: Baru-baru ini kami telah mengerjakan pelbagai projek yang memerlukan pemantauan suhu dan kelembapan dan kemudian kami menyedari bahawa kedua-dua parameter ini sebenarnya memainkan peranan penting dalam membuat anggaran kecekapan kerja sistem. Kedua-duanya di indus
Pengukuran Kelembapan dan Suhu Menggunakan HIH6130 dan Foton Zarah: 4 Langkah
Pengukuran Kelembapan dan Suhu Menggunakan HIH6130 dan Foton Partikel: HIH6130 adalah sensor kelembapan dan suhu dengan output digital. Sensor ini memberikan tahap ketepatan ± 4% RH. Dengan kestabilan jangka panjang yang terkemuka di industri, I2C digital yang diberi pampasan suhu sebenar, kebolehpercayaan terkemuka di industri, kecekapan tenaga
Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Foton Zarah: 4 Langkah
Pengukuran Kelembapan dan Suhu Menggunakan HTS221 dan Foton Partikel: HTS221 adalah sensor digital kapasitif ultra kompak untuk kelembapan dan suhu relatif. Ini termasuk elemen penginderaan dan litar bersepadu khusus aplikasi isyarat campuran (ASIC) untuk memberikan maklumat pengukuran melalui siri digital