MPU6050: ម៉ូឌុលសម្រាប់កំណត់ទីតាំងជាមួយ Arduino

ក្តារ MPU6050

ប្រសិនបើអ្នកត្រូវការបង្កើតគម្រោងហើយដាក់ទីតាំងវានោះគឺដឹងហើយ តើវាត្រូវបានដាក់ដោយរបៀបណា ទាក់ទងនឹងទំហំអ្នកអាចប្រើម៉ូឌុល MPU ៦០០០។ នោះគឺម៉ូឌុលនេះគឺជាឯកតារង្វាស់អាំងតង់ស៊ីតេឬអាយយូយូ (យូអេមអេសយូអេសយូអេស) ដែលមានសេរីភាព ៦ ដឺក្រេ។ នោះគឺអរគុណចំពោះឧបករណ៍ចាប់សញ្ញាប្រភេទឧបករណ៍វាស់ល្បឿន ៣ អ័ក្សនិងឧបករណ៍វាស់ស្ទង់អ័ក្សទ្រូ ៣ ដែលវាអនុវត្តដើម្បីដំណើរការ។

MPU6050 នេះអាចដឹងពីរបៀបដែលវត្ថុដែលផ្ទុកមានទីតាំងនៅសម្រាប់ប្រើប្រាស់ក្នុង កម្មវិធី នាវាចរណ៍ goniometry ស្ថេរភាពការគ្រប់គ្រងកាយវិការ។ ល។ ឧទាហរណ៍ទូរស័ព្ទចល័តរួមបញ្ចូលឧបករណ៍ចាប់សញ្ញាប្រភេទនេះឧទាហរណ៍គ្រប់គ្រងមុខងារមួយចំនួនតាមរយៈកាយវិការដូចជាបញ្ឈប់ប្រសិនបើស្មាតហ្វូនត្រូវបានបើកឡានបើកបរយានយន្តនៅក្នុងហ្គេមវីដេអូដោយងាកចល័តដូចជាវាដៃចង្កូត។ ល។

តើឧបករណ៍វាស់ល្បឿននិងឧបករណ៍វាស់ស្ទង់រោគវិទ្យាគឺជាអ្វី?

ឧទាហរណ៍ MEMS

ឧទាហរណ៍ MEMS

អញ្ចឹងតោះទៅផ្នែកខ្លះ។ រឿងដំបូងគឺត្រូវមើលថាតើឧបករណ៍ចាប់សញ្ញាប្រភេទនេះជាអ្វី អាចរកឃើញការបង្កើនល្បឿននិងវេនដូចដែលអាចត្រូវបានកាត់ចេញពីឈ្មោះផ្ទាល់ខ្លួនរបស់ពួកគេ។

  • ឧបករណ៍វាស់ល្បឿន: វាស់ល្បឿន, នោះគឺការផ្លាស់ប្តូរល្បឿនក្នុងមួយឯកតានៃពេលវេលា។ ចងចាំថានៅក្នុងរូបវិទ្យាការផ្លាស់ប្តូរល្បឿនជាមួយនឹងពេលវេលា (a = dV / dt) គឺជានិយមន័យនៃការបង្កើនល្បឿន។ យោងទៅតាមច្បាប់ទី ២ ញូតុនយើងក៏មានផងដែរថា a = F / m ហើយនោះគឺជាអ្វីដែលឧបករណ៍វាស់ល្បឿនប្រើដើម្បីធ្វើការនោះគឺពួកគេប្រើប៉ារ៉ាម៉ែត្រនៃកម្លាំងនិងម៉ាស់វត្ថុ។ ដូច្នេះនេះអាចត្រូវបានអនុវត្តនៅក្នុងអេឡិចត្រូនិចបច្ចេកទេសអេមអេសអេមអេឡិចត្រូនិចអេឡិចត្រូនិចត្រូវបានប្រើដែលខុសគ្នាពីបច្ចេកទេសផលិតបន្ទះឈីបអេឡិចត្រូនិចធម្មតាចាប់តាំងពីផ្នែកមេកានិចត្រូវបានបង្កើតឡើងនៅក្នុងអេមអេសអេស។ ក្នុងករណីនេះបទឬធាតុដែលមានសមត្ថភាពវាស់ល្បឿនត្រូវបានបង្កើត។ នេះបញ្ជាក់ថាអាចយកគ្រឿងផ្សេងទៀតជាច្រើនដូចជាល្បឿន (ប្រសិនបើការបង្កើនល្បឿនត្រូវបានរួមបញ្ចូលនៅក្នុងពេលវេលា) ប្រសិនបើវាត្រូវបានដាក់បញ្ចូលម្តងទៀតយើងមានការផ្លាស់ទីលំនៅ។ ល។ នោះគឺត្រូវនិយាយថាប៉ារ៉ាម៉ែត្រគួរឱ្យចាប់អារម្មណ៍ខ្លាំងណាស់ដើម្បីដឹងពីទីតាំងឬរកចលនារបស់វត្ថុ។
  • រោគវិទ្យា៖ ហៅថាជីហ្កាហ្សិនវាគឺជាឧបករណ៍ដែលវាស់ល្បឿនមុំនៃវត្ថុពោលគឺការផ្លាស់ទីមុំក្នុងមួយឯកតានៃពេលវេលាឬល្បឿនដែលរាងកាយវិលជុំវិញអ័ក្សរបស់វា។ ក្នុងករណីនេះបច្ចេកទេស MEMS ក៏ត្រូវបានប្រើដើម្បីវាស់ល្បឿននេះដោយប្រើឥទ្ធិពលដែលគេស្គាល់ថាកូរីលីស។ សូមអរគុណដល់ចំណុចនេះល្បឿនវ៉ែនតាអាចត្រូវបានវាស់ឬដោយបញ្ចូលល្បឿនមុំដោយគោរពតាមពេលវេលាការផ្លាស់ទីលំនៅមុំអាចទទួលបាន។

ម៉ូឌុល MPU6050

ភីភី MPU6050

ឥឡូវអ្នកដឹងពីអ្វីដែលឧបករណ៍វាស់ល្បឿននិងហ្គ្រូហ្សូស្តេចមាន, ម៉ូឌុល MPU6050 វាគឺជាក្តារអេឡិចត្រូនិចដែលរួមបញ្ចូលធាតុទាំងពីរនេះដើម្បីឱ្យអ្នកវាស់ការផ្លាស់ប្តូរទាំងនេះនៅក្នុងទីតាំងនៃធាតុហើយដូច្នេះអាចបង្កើតប្រតិកម្ម។ ឧទាហរណ៍ថានៅពេលវត្ថុមួយផ្លាស់ទីអំពូល LED ឡើងឬវត្ថុស្មុគស្មាញផ្សេងទៀត។

ដូចខ្ញុំបាននិយាយវាមានសេរីភាព ៦ អ័រឌ្រីអេហ្វ។ ឧបករណ៍បង្កើនល្បឿន ៣ អ័ក្ស X, Y និង Z បង្កើនល្បឿននិងឧបករណ៍វាស់អ័ក្ស ៣ អ័ក្សផ្សេងទៀត ដើម្បីវាស់ល្បឿនមុំ។ អ្នកត្រូវគិតគូរកុំធ្វើឱ្យមានកំហុសតាមរបៀបដែលអ្នកដាក់ម៉ូឌុលនិងទិសដៅនៃការបង្វិលសម្រាប់ការវាស់វែងព្រោះបើអ្នកធ្វើសញ្ញាខុសវានឹងមានភាពច្របូកច្របល់បន្តិច។ សូមក្រឡេកមើលរូបភាពខាងក្រោមដែលវាបញ្ជាក់ពីទិសដៅរបស់អ័ក្ស (ទោះជាយ៉ាងណាក៏ដោយកត់សំគាល់ថាអេសអេសអេសខ្លួនឯងក៏មានបោះពុម្ពវានៅម្ខាងផងដែរ):

ឌិតថេត MPU6050

ពិចារណាអំពីរឿងនេះនិង pinout នេះច្រើនឬតិចអ្នកមានអ្វីគ្រប់យ៉ាងច្បាស់ដើម្បីចាប់ផ្តើមប្រើប្រាស់ MPU6050 ។ ដូចដែលអ្នកអាចឃើញនៅក្នុងរូបភាពមុនការតភ្ជាប់គឺសាមញ្ញណាស់ហើយវាអនុញ្ញាតឱ្យការទំនាក់ទំនង I2C អាចឆបគ្នាជាមួយឧបករណ៍ត្រួតពិនិត្យខ្នាតតូចរួមទាំង Arduino ។ ម្ជុលអេស។ អិល។ អេស។ អេស។ អេនិងអេសអេអេមានឧបករណ៍ទប់ទាញនៅលើក្តារសម្រាប់ភ្ជាប់ដោយផ្ទាល់ទៅនឹងក្តារអាឌូដូដូច្នេះអ្នកមិនចាំបាច់ព្រួយបារម្ភអំពីការបន្ថែមវាដោយខ្លួនឯងទេ។

ដើម្បីធ្វើការជាមួយទិសដៅទាំងពីរនៅលើឡានក្រុង I2C អ្នកអាចប្រើវាបាន ម្ជុលនិងទិសដៅ:

  • AD0 = ១ ឬខ្ពស់ (៥ វ៉)៖ សំរាប់អាស័យដ្ឋាន I1C ០x៦៩ ។
  • AD0 = ០ រឺទាប (GND ឬ Nc) ៈសំរាប់អាស័យដ្ឋាន ០x៦៨ នៃឡានក្រុង I0C ។

សូមចងចាំថាវ៉ុលប្រតិបត្តិការនៃម៉ូដែលគឺ 3v3 ប៉ុន្តែជាសំណាងល្អវាមាននិយតករដែលភ្ជាប់មកជាមួយដូច្នេះវាអាចត្រូវបានផ្សារភ្ជាប់ជាមួយនឹងអ័រតូរីស 5 វ៉ដោយគ្មានបញ្ហាហើយវានឹងបំលែងវាទៅជា 3.3v ។

ដោយវិធីនេះមានភាពធន់ទ្រាំខាងក្នុងទៅ GND ប្រសិនបើម្ជុលនេះមិនត្រូវបានភ្ជាប់អាសយដ្ឋាន តាមលំនាំដើមវានឹងមាន ០ x៦៨ចាប់តាំងពីវានឹងត្រូវបានភ្ជាប់តាមលំនាំដើមទៅផែនដីការបកស្រាយវាជាតក្ក 0 ។

ការរួមបញ្ចូលជាមួយ Arduino

ការតភ្ជាប់ Arduino និង MPU6050

អ្នក​អាច​ទទួល​បាន ព័ត៌មានបន្ថែមអំពីឡានក្រុងអាយ។ ស៊ី។ អេ នៅក្នុងអត្ថបទនេះ។ អ្នកដឹងរួចហើយថាអាស្រ័យលើក្តារអារីស្តូនម្ជុលដែលប្រើសម្រាប់ឡានក្រុងខុសគ្នាប៉ុន្តែនៅក្នុង Arduino UNO គឺជាម្ជុលអាណាឡូក A4 និង A5 សម្រាប់ SDA (ទិន្នន័យ) និងអេសអិល (ម៉ោង) រៀងៗខ្លួន។ ពួកគេគឺជាម្ជុលតែមួយគត់របស់ Arduino រួមជាមួយម៉ាស៊ីន 5v និង GND ដើម្បីផ្តល់ថាមពលដល់ក្តារដែលអ្នកគួរតែប្រើ។ ដូច្នេះការតភ្ជាប់គឺសាមញ្ញតាមដែលអាចធ្វើទៅបាន។

សម្រាប់មុខងាររបស់ MPU6050 អ្នកអាចប្រើបណ្ណាល័យដែលអ្នកអាចទទួលបានព័ត៌មានបន្ថែមនៅក្នុងតំណភ្ជាប់នេះ I2C នៃម៉ូឌុលនិងឡានក្រុង MPU ៦០០០.

ការសរសេរកម្មវិធីក្តារក្រូគឺមិនត្រង់ជាមួយ MPU6050 ទេដូច្នេះវាមិនមែនសម្រាប់អ្នកចាប់ផ្តើមដំបូងទេ។ លើសពីនេះទៀតដោយដឹងពីដែនកំណត់នៃការបង្កើនល្បឿនឬជួរនៃមុំអ្នកអាចក្រិតតាមខ្នាតដើម្បីកំណត់ថាតើចលនាជាក់លាក់ឬការបង្កើនល្បឿនមានអ្វីខ្លះ។ ទោះយ៉ាងណាក៏ដោយដើម្បីឱ្យអ្នកយ៉ាងហោចណាស់មានឧទាហរណ៍អំពីរបៀបធ្វើអត្ថាធិប្បាយលើការប្រើប្រាស់វាអ្នកអាចមើលឃើញលេខកូដនេះពីគេហទំព័រ ឧទាហរណ៍ការបង្ហាញប្រភេទរូបភាពសម្រាប់អាយឌីអាអាយណូរបស់អ្នក ដែលនឹងអានតម្លៃដែលបានកត់ត្រាដោយឧបករណ៍វាស់ល្បឿននិងហ្សែនហ្ស័រ។

// Bibliotecas necesarias:
#include "I2Cdev.h"
#include "MPU6050.h"
#include "Wire.h"

// Dependiendo del estado de AD0, la dirección puede ser 0x68 o 0x69, para controlar así el esclavo que leerá por el bus I2C
MPU6050 sensor;

// Valores RAW o en crudo leidos del acelerometro y giroscopio en los ejes x,y,z
int ax, ay, az;
int gx, gy, gz;

void setup() {
  Serial.begin(57600);    //Función para iniciar el puerto serie con 57600 baudios
  Wire.begin();           //Inicio para el bus I2C 
  sensor.initialize();    //Iniciando del sensor MPU6050

  if (sensor.testConnection()) Serial.println("Sensor iniciado correctamente");
  else Serial.println("Error al iniciar el sensor");
}

void loop() {
  // Leer las aceleraciones y velocidades angulares
  sensor.getAcceleration(&ax, &ay, &az);
  sensor.getRotation(&gx, &gy, &gz);

  // Muestra las lecturas que va registrando separadas por una tabulación 
  Serial.print("a[x y z] g[x y z]:\t");
  Serial.print(ax); Serial.print("\t");
  Serial.print(ay); Serial.print("\t");
  Serial.print(az); Serial.print("\t");
  Serial.print(gx); Serial.print("\t");
  Serial.print(gy); Serial.print("\t");
  Serial.println(gz);

  delay(100);
}

ប្រសិនបើអ្នកជាអ្នកចាប់ផ្តើមដំបូងហើយអ្នកមិនដឹងច្បាស់ទេ របៀបនៃការសរសេរកម្មវិធីជាមួយ Arduino IDEនេះនឹងពិបាកសម្រាប់អ្នកក្នុងការយល់ដូច្នេះអ្នកអាចពិគ្រោះសៀវភៅណែនាំរបស់យើងជាមួយនឹងវគ្គសិក្សាណែនាំអំពីការសរសេរកម្មវិធីអារីដូណូដោយឥតគិតថ្លៃ ...


ខ្លឹមសារនៃអត្ថបទប្រកាន់ខ្ជាប់នូវគោលការណ៍របស់យើង ក្រមសីលធម៌វិចារណកថា។ ដើម្បីរាយការណ៍ការចុចកំហុស នៅទីនេះ.

ធ្វើជាយោបល់ដំបូង

ទុកឱ្យយោបល់របស់អ្នក

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានបោះពុម្ភ។ អ្នកគួរតែអនុវត្តតាម *

*

*

  1. ទទួលខុសត្រូវចំពោះទិន្នន័យ: មីហ្គែល - ហ្គែលហ្គេតថន
  2. គោលបំណងនៃទិន្នន័យ៖ គ្រប់គ្រង SPAM ការគ្រប់គ្រងមតិយោបល់។
  3. ភាពស្របច្បាប់៖ ការយល់ព្រមរបស់អ្នក
  4. ការប្រាស្រ័យទាក់ទងទិន្នន័យ៖ ទិន្នន័យនឹងមិនត្រូវបានទាក់ទងទៅភាគីទីបីឡើយលើកលែងតែកាតព្វកិច្ចផ្នែកច្បាប់។
  5. ការផ្ទុកទិន្នន័យ៖ មូលដ្ឋានទិន្នន័យដែលរៀបចំដោយបណ្តាញ Occentus (EU)
  6. សិទ្ធិ៖ នៅពេលណាដែលអ្នកអាចដាក់កម្រិតទាញយកមកវិញនិងលុបព័ត៌មានរបស់អ្នក។