Talaan ng mga Nilalaman:
- Hakbang 1: Kinakailangan ang Hardware:
- Hakbang 2: Hardware Hookup:
- Hakbang 3: Code para sa Pagsubaybay sa Paggalaw:
- Hakbang 4: Mga Aplikasyon:
Video: Pagsubaybay sa Paggalaw Gamit ang MPU-6000 at Photicle ng Particle: 4 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Ang MPU-6000 ay isang 6-Axis Motion Tracking Sensor na mayroong 3-Axis accelerometer at 3-Axis gyroscope na naka-embed dito. Ang sensor na ito ay may kakayahang mahusay na pagsubaybay ng eksaktong posisyon at lokasyon ng isang bagay sa 3-dimensional na eroplano. Maaari itong magamit sa mga system na nangangailangan ng pagtatasa ng posisyon sa pinakamataas na katumpakan.
Sa tutorial na ito ang paglalagay ng interface ng MPU-6000 sensor module na may maliit na butil na poton ay nailarawan. Upang mabasa ang mga halaga ng pagpabilis at pag-ikot ng anggulo, ginamit namin ang maliit na butil na may isang I2c adapter. Ginagawa ng I2C adapter na ito ang koneksyon sa module ng sensor na mas madali at mas maaasahan.
Hakbang 1: Kinakailangan ang Hardware:
Ang mga materyal na kinakailangan upang magawa ang aming gawain ay may kasamang mga nabanggit na mga bahagi ng hardware sa ibaba:
1. MPU-6000
2. Particle Photon
3. I2C Cable
4. I2C Shield para sa poton ng maliit na butil
Hakbang 2: Hardware Hookup:
Karaniwang ipinapaliwanag ng seksyon ng hookup ng hardware ang mga koneksyon sa mga kable na kinakailangan sa pagitan ng sensor at ng particle foton. Ang pagtiyak sa tamang mga koneksyon ay ang pangunahing pangangailangan habang nagtatrabaho sa anumang system para sa nais na output. Kaya, ang mga kinakailangang koneksyon ay ang mga sumusunod:
Ang MPU-6000 ay gagana sa I2C. Narito ang halimbawa ng diagram ng mga kable, na nagpapakita kung paano i-wire ang bawat interface ng sensor.
Sa labas ng kahon, naka-configure ang board para sa isang interface ng I2C, dahil inirerekumenda namin ang paggamit ng hookup na ito kung hindi ka agnostiko. Ang kailangan mo lang ay apat na wires!
Apat na koneksyon lamang ang kinakailangan ng Vcc, Gnd, SCL at SDA pin at ang mga ito ay konektado sa tulong ng I2C cable.
Ang mga koneksyon na ito ay ipinakita sa mga larawan sa itaas.
Hakbang 3: Code para sa Pagsubaybay sa Paggalaw:
Hinahayaan nating magsimula sa code ng maliit na butil ngayon.
Habang ginagamit ang module ng sensor na may arduino, nagsasama kami ng application.h at spark_wiring_i2c.h library. Ang "application.h" at spark_wiring_i2c.h library ay naglalaman ng mga pagpapaandar na nagpapadali sa komunikasyon ng i2c sa pagitan ng sensor at ng maliit na butil.
Ang buong code ng maliit na butil ay ibinibigay sa ibaba para sa kaginhawaan ng gumagamit:
# isama # isama // MPU-6000 I2C address ay 0x68 (104) #define Addr 0x68 int xGyro = 0, yGyro = 0, zGyro = 0, xAccl = 0, yAccl = 0, zAccl = 0; void setup () {// Set variable Particle.variable ("i2cdevice", "MPU-6000"); Particle.variable ("xAccl", xAccl); Particle. Nababago ("yAccl", yAccl); Particle. Nababago ("zAccl", zAccl); Particle.variable ("xGyro", xGyro); Particle. Iba-iba ("yGyro", yGyro); Particle. Iba-iba ("zGyro", zGyro); // Initialise I2C na komunikasyon bilang Master Wire.begin (); // Initialise serial komunikasyon, itakda ang baud rate = 9600 Serial.begin (9600); // Start I2C transmission Wire.beginTransmission (Addr); // Piliin ang rehistro ng pagsasaayos ng gyroscope Wire.write (0x1B); // Full scale range = 2000 dps Wire.write (0x18); // Stop I2C transmission Wire.endTransmission (); // Start I2C transmission Wire.beginTransmission (Addr); // Piliin ang rehistro ng pagsasaayos ng accelerometer Wire.write (0x1C); // Full scale range = +/- 16g Wire.write (0x18); // Stop I2C transmission Wire.endTransmission (); // Start I2C transmission Wire.beginTransmission (Addr); // Piliin ang rehistro ng pamamahala ng kuryente Wire.write (0x6B); // PLL na may xGyro reference Wire.write (0x01); // Stop I2C transmission Wire.endTransmission (); pagkaantala (300); } void loop () {unsigned int data [6]; // Start I2C transmission Wire.beginTransmission (Addr); // Select data register Wire.write (0x3B); // Stop I2C transmission Wire.endTransmission (); // Humiling ng 6 bytes ng data Wire.requestFrom (Addr, 6); // Basahin ang 6 byte ng data kung (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 (); } pagkaantala (800); // convert the data xAccl = ((data [1] * 256) + data [0]); kung (xAccl> 32767) {xAccl - = 65536; } yAccl = ((data [3] * 256) + data [2]); kung (yAccl> 32767) {yAccl - = 65536; } zAccl = ((data [5] * 256) + data [4]); kung (zAccl> 32767) {zAccl - = 65536; } pagkaantala (800); // Start I2C transmission Wire.beginTransmission (Addr); // Select data register Wire.write (0x43); // Stop I2C transmission Wire.endTransmission (); // Humiling ng 6 bytes ng data Wire.requestFrom (Addr, 6); // Basahin ang 6 byte ng data kung (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 (); } // I-convert ang data xGyro = ((data [1] * 256) + data [0]); kung (xGyro> 32767) {xGyro - = 65536; } yGyro = ((data [3] * 256) + data [2]); kung (yGyro> 32767) {yGyro - = 65536; } zGyro = ((data [5] * 256) + data [4]); kung (zGyro> 32767) {zGyro - = 65536; } // Output data sa dashboard Particle.publish ("Acceleration in X-Axis:", String (xAccl)); pagkaantala (1000); Particle.publish ("Acceleration in Y-Axis:", String (yAccl)); pagkaantala (1000); Particle.publish ("Acceleration in Z-Axis:", String (zAccl)); pagkaantala (1000); Particle.publish ("X-Axis of Rotation:", String (xGyro)); pagkaantala (1000); Particle.publish ("Y-Axis of Rotation:", String (yGyro)); pagkaantala (1000); Particle.publish ("Z-Axis of Rotation:", String (zGyro)); pagkaantala (1000); }
Ang function ng Particle.variable () ay lumilikha ng mga variable upang maiimbak ang output ng sensor at ipinapakita ng pagpapaandar ng Particle.publish () ang output sa dashboard ng site.
Ang output ng sensor ay ipinapakita sa larawan sa itaas para sa iyong sanggunian.
Hakbang 4: Mga Aplikasyon:
Ang MPU-6000 ay isang sensor ng pagsubaybay sa paggalaw, na matatagpuan ang application nito sa interface ng paggalaw ng mga smartphone at tablet. Sa mga smartphone ang mga sensor na ito ay maaaring gamitin sa mga application tulad ng mga kilos na utos para sa mga aplikasyon at kontrol sa telepono, pinahusay na paglalaro, pinalawak na katotohanan, panoramic na pagkuha ng larawan at pagtingin, at pag-navigate sa naglalakad at sasakyan. Ang teknolohiya ng MotionTracking ay maaaring mag-convert ng mga handset at tablet sa malakas na mga 3D na intelihente na aparato na maaaring magamit sa mga aplikasyon mula sa pagsubaybay sa kalusugan at fitness hanggang sa mga serbisyong nakabatay sa lokasyon.
Inirerekumendang:
Mga Tweet sa OLED SPI Display at Photicle Board ng Particle: 6 Mga Hakbang
Mga Tweet sa OLED SPI Display at Particle's Photon Board: Pagbati, lahat. Ipapakita sa amin ng madaling tutorial na ito kung paano basahin ang aming mga tweet gamit ang IFTTT at isang Photon board. Maaaring kailanganin mong makita itong itinuturo
Pagsubaybay sa Solar Panel Gamit ang Particle Photon: 7 Mga Hakbang
Pagsubaybay sa Solar Panel Gamit ang Particle Photon: Ang layunin ng proyekto ay upang mapabuti ang kahusayan ng mga solar panel. Ang proyekto ay dinisenyo upang pangasiwaan ang solar photovoltaic power generasi upang mapahusay ang pagganap, pagsubaybay at pagpapanatili ng solar plant. Sa proyektong ito, ang maliit na butil
Pagsukat ng Presyon Gamit ang CPS120 at Photicle ng Particle: 4 na Hakbang
Pagsukat ng Presyon Gamit ang CPS120 at Particle Photon: Ang CPS120 ay isang mataas na kalidad at mababang gastos capacitive absolute pressure sensor na may ganap na bayad na output. Gumugugol ito ng mas kaunting lakas at binubuo ng isang napakaliit na Micro-Electro-Mechanical Sensor (MEMS) para sa pagsukat ng presyon. Isang batay sa sigma-delta
Bawasan ang Paggalaw ng Paggalaw Gamit ang GIMP: 6 na Hakbang
Bawasan ang Motion Blur Gamit ang GIMP: Ang Instructable na ito ay tumutulong sa iyo na mabawasan ang mga epekto ng malambot na kilos ng paggalaw na nakuha mo dahil sa pag-iling ng camera. Ito ay isang pang-eksperimentong pamamaraan na binuo ko, kaya't mangyaring subukan at mag-iwan ng mga komento, mas mabuti sa mga imahe. Tulad ng maliwanag mula sa kalidad ng ph
Pagsubaybay sa Mata na Paggalaw Gamit ang Infrared Sensor: 5 Hakbang
Pagsubaybay sa Mata na Paggalaw Gamit ang Infrared Sensor: Gumamit ako ng isang infrared sensor upang maunawaan ang mga paggalaw ng mata at makontrol ang LED. Gumawa ako ng mga eyeballs sa LED Tape NeoPixel