Orodha ya maudhui:

Kufuatilia Mwendo Kutumia MPU-6000 na Particle Photon: Hatua 4
Kufuatilia Mwendo Kutumia MPU-6000 na Particle Photon: Hatua 4

Video: Kufuatilia Mwendo Kutumia MPU-6000 na Particle Photon: Hatua 4

Video: Kufuatilia Mwendo Kutumia MPU-6000 na Particle Photon: Hatua 4
Video: Usikose Kufuatilia darasa Letu. Jinsi Ya Kutumia Jiko La Gesi Pamoja Na Oven Yake 2024, Novemba
Anonim
Image
Image

MPU-6000 ni Sensor ya Kufuatilia Mwendo wa 6-Axis ambayo ina 3-Axis accelerometer na 3-Axis gyroscope iliyoingia ndani. Sensor hii inauwezo wa ufuatiliaji mzuri wa nafasi halisi na eneo la kitu kwenye ndege ya 3-dimensional. Inaweza kuajiriwa katika mifumo ambayo inahitaji uchambuzi wa msimamo kwa usahihi wa hali ya juu.

Katika mafunzo haya ujumuishaji wa moduli ya sensorer ya MPU-6000 na chembe chembe imeonyeshwa. Ili kusoma maadili ya kuongeza kasi na pembe ya kuzunguka, tumetumia chembe na adapta ya I2c. Adapter hii ya I2C inafanya unganisho kwa moduli ya sensa iwe rahisi na ya kuaminika zaidi.

Hatua ya 1: Vifaa vinahitajika:

Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika
Vifaa vinahitajika

Vifaa vinavyohitajika kufanikisha kazi yetu ni pamoja na vifaa vya vifaa vilivyotajwa hapo chini:

1. MPU-6000

2. Particle Photon

3. Cable ya I2C

4. I2C Shield kwa chembe photon

Hatua ya 2: Kuunganishwa kwa vifaa:

Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa
Kuunganishwa kwa Vifaa

Sehemu ya uunganishaji wa vifaa kimsingi inaelezea uhusiano wa wiring unaohitajika kati ya sensa na chembe chembe. Kuhakikisha unganisho sahihi ni hitaji la msingi wakati unafanya kazi kwenye mfumo wowote wa pato unalotaka. Kwa hivyo, viunganisho vinavyohitajika ni kama ifuatavyo.

MPU-6000 itafanya kazi juu ya I2C. Hapa kuna mfano wa mchoro wa wiring, unaonyesha jinsi ya kuweka waya kila kiunganishi cha sensa.

Nje ya sanduku, bodi imesanidiwa kwa kiolesura cha I2C, kwa hivyo tunapendekeza utumie uunganisho huu ikiwa wewe ni agnostic. Unachohitaji ni waya nne!

Viunganisho vinne tu vinahitajika Vcc, Gnd, SCL na SDA pini na hizi zimeunganishwa kwa msaada wa kebo ya I2C.

Uunganisho huu umeonyeshwa kwenye picha hapo juu.

Hatua ya 3: Nambari ya Kufuatilia Mwendo:

Nambari ya Kufuatilia Mwendo
Nambari ya Kufuatilia Mwendo

Hebu tuanze na nambari ya chembe sasa.

Wakati tunatumia moduli ya sensorer na arduino, tunajumuisha application.h na maktaba ya spark_wiring_i2c.h. "application.h" na maktaba ya spark_wiring_i2c.h ina kazi ambazo zinawezesha mawasiliano ya i2c kati ya sensa na chembe.

Nambari nzima ya chembe imepewa hapa chini kwa urahisi wa mtumiaji:

# ni pamoja na # ni pamoja na // MPU-6000 anwani ya I2C ni 0x68 (104) #fafanua Addr 0x68 int xGyro = 0, yGyro = 0, zGyro = 0, xAccl = 0, yAccl = 0, zAccl = 0; usanidi batili () {// Set Particle variable.variable ("i2cdevice", "MPU-6000"); Chembe. Hubadilika ("xAccl", xAccl); Chembe. Hubadilika ("yAccl", yAccl); Chembe. Hubadilika ("zAccl", zAccl); Chembe. Hubadilika ("xGyro", xGyro); Chembe inaweza kubadilika ("yGyro", yGyro); Chembe. Hubadilika ("zGyro", zGyro); // Anzisha mawasiliano ya I2C kama Master Wire. Anza (); // Anzisha mawasiliano ya serial, weka kiwango cha baud = 9600 Serial.begin (9600); // Anzisha waya ya usambazaji wa I2C. Anza Uwasilishaji (Addr); // Chagua rejista ya usanidi wa gyroscope Wire.write (0x1B); // Kiwango kamili cha kiwango = 2000 dps Wire.write (0x18); // Acha waya ya usambazaji wa I2C. End Transmission (); // Anzisha waya wa usambazaji wa I2C. Anza Uwasilishaji (Addr); // Chagua rejista ya usanidi wa accelerometer Wire.write (0x1C); // Kiwango kamili cha kiwango = +/- 16g Waya. Andika (0x18); // Acha waya ya usambazaji wa I2C. End Transmission (); // Anzisha waya ya usambazaji wa I2C. Anza Uwasilishaji (Addr); // Chagua rejista ya usimamizi wa nguvu Wire.write (0x6B); // PLL na xGyro kumbukumbu Wire.write (0x01); // Stop waya ya usambazaji wa I2C. kuchelewesha (300); } kitanzi batili () {data ambayo haijasainiwa int [6]; // Anzisha waya wa usambazaji wa I2C. Anza Uwasilishaji (Addr); // Chagua rejista ya data Wire.write (0x3B); // Acha waya ya usambazaji wa I2C. End Transmission (); // Omba ka 6 za data Wire.requestFrom (Addr, 6); // Soma data 6 ya data ikiwa (Wire.available () == 6) {data [0] = Wire.read (); data [1] = soma kwa waya (); data [2] = soma kwa waya (); data [3] = soma kwa waya (); data [4] = soma kwa waya (); data [5] = soma kwa waya (); } kuchelewa (800); // Badilisha data xAccl = ((data [1] * 256) + data [0]); ikiwa (xAccl> 32767) {xAccl - = 65536; } yAccl = ((data [3] * 256) + data [2]); ikiwa (yAccl> 32767) {yAccl - = 65536; } zAccl = ((data [5] * 256) + data [4]); ikiwa (zAccl> 32767) {zAccl - = 65536; } kuchelewa (800); // Anzisha waya ya usambazaji wa I2C. Anza Uwasilishaji (Addr); // Chagua rejista ya data Wire.write (0x43); // Stop waya ya usambazaji wa I2C. // Omba ka 6 za data Wire.requestFrom (Addr, 6); // Soma data 6 ya data ikiwa (Wire.available () == 6) {data [0] = Wire.read (); data [1] = soma kwa waya (); data [2] = soma kwa waya (); data [3] = soma kwa waya (); data [4] = soma kwa waya (); data [5] = soma kwa waya (); } // Badilisha data xGyro = (((data [1] * 256) + data [0]); ikiwa (xGyro> 32767) {xGyro - = 65536; } yGyro = ((data [3] * 256) + data [2]); ikiwa (yGyro> 32767) {yGyro - = 65536; } zGyro = ((data [5] * 256) + data [4]); ikiwa (zGyro> 32767) {zGyro - = 65536; } // Pato la data kwa dashibodi Particle.publish ("Kuongeza kasi kwa X-Axis:", String (xAccl)); kuchelewesha (1000); Kuchapisha chembe ("Kuongeza kasi katika Y-Axis:", Kamba (yAccl)); kuchelewesha (1000); Kuchapisha chembe ("Kuongeza kasi katika Z-Axis:", Kamba (zAccl)); kuchelewesha (1000); Kuchapisha ("X-Axis ya Mzunguko:", Kamba (xGyro)); kuchelewesha (1000); Kuchapisha chembe ("Y-Axis ya Mzunguko:", Kamba (yGyro)); kuchelewesha (1000); Kuchapisha chembe ("Z-Axis ya Mzunguko:", Kamba (zGyro)); kuchelewesha (1000); }

Kazi ya Particle.variable () huunda vigeuzi vya kuhifadhi pato la sensor na Particle.publish () kazi inaonyesha pato kwenye dashibodi ya tovuti.

Pato la sensorer linaonyeshwa kwenye picha hapo juu kwa kumbukumbu yako.

Hatua ya 4: Maombi:

Maombi
Maombi

MPU-6000 ni sensorer ya ufuatiliaji wa mwendo, ambayo hupata matumizi yake katika kiolesura cha mwendo cha simu mahiri na vidonge. Katika simu za rununu sensorer hizi zinaweza kuajiriwa katika matumizi kama vile maagizo ya ishara ya matumizi na udhibiti wa simu, michezo ya kubahatisha iliyoboreshwa, ukweli uliodhabitiwa, upigaji picha na kutazama panorama, na utembezaji wa watembea kwa miguu na gari. Teknolojia ya MotionTracking inaweza kubadilisha simu na vidonge kuwa vifaa vyenye nguvu vya akili vya 3D ambavyo vinaweza kutumika katika matumizi kutoka kwa ufuatiliaji wa afya na usawa hadi huduma za msingi wa eneo.

Ilipendekeza: