Orodha ya maudhui:
- Hatua ya 1: Vifaa vinahitajika:
- Hatua ya 2: Kuunganishwa kwa vifaa:
- Hatua ya 3: Nambari ya Kufuatilia Mwendo:
- Hatua ya 4: Maombi:
Video: Kufuatilia Mwendo Kutumia MPU-6000 na Particle Photon: Hatua 4
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
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 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:
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:
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:
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:
Vipande vya LED vya mwendo wa mwendo wa mwendo: Hatua 8 (na Picha)
Mwendo Reactive Surfboard Vipande vya LED: Hivi karibuni, mimi na marafiki wengine tuligundua kutumia mto. Kuishi Munich tuna bahati ya kuwa na mawimbi matatu ya mto yanayoweza kutiririka kati ya eneo maarufu la mawimbi ya Eisbach. Ubaya wa kutumia mto ni kwamba ni ya kulevya na kwa hivyo mimi hupata wakati wa kufanya
DIY Smart Robot Kufuatilia Kits za Gari Kufuatilia Gari Pichaensitive: Hatua 7
DIY Smart Robot Tracking Car Kits Tracking Car Photosensitive: Design by SINONING ROBOTUnaweza kununua kutoka kufuatilia gari la robotTheoryLM393 chip linganisha picharesistor mbili, wakati kuna upande mmoja photoresistor LED kwenye WHITE upande wa motor utasimama mara moja, upande mwingine wa motor inazunguka, ili
Mwendo-ulioamilishwa na Mwendo-ulioamilishwa Taa ya LED: 4 Hatua
Mwendo wa Kuendesha-Mwendo-ulioamilishwa Taa ya LED: Ikiwa ungependa kuweka taa mahali pengine ambayo haitoi wired ndani, hii inaweza kuwa kile unahitaji
Mwendo wa mwendo wa jua: Maandiko ya Haptic Prosthetic: Hatua 5
Moonwalk: Maoni ya Haptic Prosthetic: Maelezo: Moonwalk ni kifaa bandia kisicho na shinikizo kwa watu walio na hisia dhaifu za kugusa (dalili kama za ugonjwa wa neva). Mwendo wa mwezi ulibuniwa kusaidia watu binafsi kupokea maoni yanayofaa wakati miguu yao inapowasiliana
Mwendo wa Kudhibitiwa kwa Mwendo: Hatua 7 (na Picha)
Timelapse inayodhibitiwa na mwendo: Ukomo wa wakati ni mzuri! Wanatusaidia kutazama ulimwengu unaotembea polepole ambao tunaweza kusahau kufahamu uzuri wake. Lakini wakati mwingine video thabiti ya wakati wa kurudi nyuma inaweza kuchosha au kuna mambo mengi yanayotokea karibu kwamba pembe moja tu sio