MPU6050: ارڈینو کے ساتھ پوزیشننگ کے لئے ماڈیول

MPU6050 بورڈ

اگر آپ کو کوئی پروجیکٹ بنانے اور اس کی پوزیشن لینے کی ضرورت ہے ، تو ، جان لیں یہ کیسے رکھا گیا ہے جگہ کے بارے میں ، آپ ماڈیول استعمال کرسکتے ہیں MPU6050۔. یعنی ، یہ ماڈیول ایک inertial پیمائش یونٹ یا IMU (Inertial Measurment Units) ہے جس میں 6 ڈگری آزادی (DoF) ہے۔ یہ 3 محور ایکسلرومیٹر ٹائپ سینسر اور 3 محور جائروسکوپ کا شکریہ ہے جو یہ کام کرنے کیلئے نافذ کرتا ہے۔

یہ MPU6050 جان سکتا ہے کہ کس طرح موجود چیز کو استعمال میں رکھنے کے لئے رکھا گیا ہے ایپلی کیشنز نیویگیشن ، گونیومیٹری ، استحکام ، اشارہ کنٹرول ، وغیرہ۔ موبائل فون میں عام طور پر اس قسم کے سینسر شامل ہوتے ہیں ، مثال کے طور پر ، اشاروں کے ذریعہ کچھ کاموں پر قابو رکھنا ، جیسے اسمارٹ فون ختم ہوجانے پر رکنا ، موبائل موڑ کے ذریعہ گاڑیوں کو ویڈیو گیمز میں چلانا جیسے گویا اسٹیئرنگ وہیل ہے۔

ایکسلرومیٹر اور گائروسکوپ کیا ہے؟

MEMS مثالیں

MEMS مثالیں

ٹھیک ہے ، چلیں کچھ حص .وں میں۔ پہلی چیز یہ ہے کہ ان قسم کے سینسر وہ کیا ہیں ایکسلریشن اور موڑ کا پتہ لگانے کے قابل ہیں، جیسا کہ ان کے اپنے ناموں سے کٹوتی کی جاسکتی ہے۔

  • ایکسیلیومیٹر: ایکسلریشن کی پیمائش کرتا ہے ، یعنی ، وقت کے فی یونٹ کی رفتار میں تبدیلی۔ یاد رہے کہ طبیعیات میں ، وقت کے ساتھ رفتار میں تبدیلی (a = dV / dt) ایکسلریشن کی تعریف ہے۔ نیوٹن کے دوسرے قانون کے مطابق ، ہمارے پاس یہ بھی ہے کہ ایک = ایف / ایم ، اور وہی ہے جو ایکسلریومیٹر کام کرنے کے لئے استعمال کرتا ہے ، یعنی ، وہ طاقت کے پیرامیٹرز اور چیز کے بڑے پیمانے پر استعمال کرتے ہیں۔ تاکہ الیکٹرانکس میں اس کو نافذ کیا جاسکے ، ایم ای ایم ایس (مائیکرو الیکٹرو مکینیکل سسٹم) تکنیک استعمال کی جاتی ہے ، جو روایتی الیکٹرانک چپ مینوفیکچرنگ تکنیک سے مختلف ہوتی ہے ، کیونکہ میکانی حصے ایم ایم ایم ایس میں تخلیق کیے جاتے ہیں۔ اس معاملے میں ، تیزیاں ماپنے کے قابل پٹریوں یا عناصر بنائے جاتے ہیں۔ اس سے یہ ظاہر ہوتا ہے کہ بہت ساری دیگر اکائیاں لی جاسکتی ہیں ، جیسے رفتار (اگر رفتار وقت میں مربوط ہوجاتی ہے) ، اگر یہ دوبارہ مربوط ہوجاتی ہے تو ، ہمارے پاس نقل مکانی وغیرہ ہوتی ہے۔ یہ کہنا ہے ، کسی چیز کی حیثیت جاننے یا اس کی حرکت کا پتہ لگانے کے لئے بہت ہی دلچسپ پیرامیٹرز۔
  • جیروسکوپجسے جائروسکوپ بھی کہا جاتا ہے ، یہ ایک ایسا آلہ ہے جو کسی شے کی کونیی رفتار کو ماپتا ہے ، یعنی وقتی فی یونٹ کونیی نقل مکانی یا جسم اپنے محور کے گرد کتنی تیزی سے گھومتا ہے۔ اس معاملے میں ، اس رفتار کی پیمائش کرنے کے لئے MEMS تکنیک کا استعمال بھی کیا جاتا ہے جس کا استعمال کوریولس کے نام سے ہوتا ہے۔ اس کی بدولت ، کونیی کی رفتار ماپا جاسکتی ہے یا ، وقتی سلسلے میں کونیی کی رفتار کو مربوط کرنے سے ، کونییی نقل مکانی کی جاسکتی ہے۔

MPU6050 ماڈیول

MPU6050 پن آؤٹ

اب جب آپ جانتے ہو کہ ایکسیلومیٹر اور گائروسکوپ کیا ہیں ، MPU6050 ماڈیول یہ ایک الیکٹرانک بورڈ ہے جو ان دو عناصر کو متحد کرتا ہے تاکہ آپ کو کسی عنصر کی پوزیشن میں ان تبدیلیوں کی پیمائش کرنے کی اجازت دی جاسکے اور اس طرح ایک رد عمل پیدا ہوسکے۔ مثال کے طور پر ، کہ جب کوئی شے ایل ای ڈی لائٹس اوپر لاتی ہے ، یا بہت زیادہ پیچیدہ چیزیں۔

جیسا کہ میں نے کہا ، اس میں آزادی کے 6 محور ہیں ، ڈی او ایف ، 3 محور X ، Y ، اور Z ایکسلریشن ایکسلومیٹر ، اور دیگر 3 محور جائروسکوپ کونیی کی رفتار کی پیمائش کرنے کے لئے. آپ کو پیمائش کے ماڈیول اور گردش کی سمت کی حیثیت سے جس طرح سے غلطی کی ضرورت نہیں ہے اس کو بھی ذہن میں رکھنا ہوگا ، کیونکہ اگر آپ غلط نشان بنا دیتے ہیں تو یہ قدرے انتشار کا شکار ہوگا۔ مندرجہ ذیل تصویر کو دیکھیں جہاں یہ محور کی سمت کی وضاحت کرتی ہے (تاہم ، غور کریں کہ پی سی بی نے خود بھی اس کی ایک طرف طباعت کی ہے):

ڈیٹاشیٹ MPU6050

اس پر غور اور پن آؤٹ، کم و بیش آپ کے پاس MPU6050 کا استعمال شروع کرنے کے لئے ہر چیز واضح ہے۔ جیسا کہ آپ پچھلی تصویر میں دیکھ سکتے ہیں ، رابطے بالکل آسان ہیں اور اس سے I2C مواصلت زیادہ تر مائکروکنوتروں کے ساتھ مطابقت پذیر ہونے کی اجازت دیتا ہے ، جس میں ارڈینو بھی شامل ہے۔ ارڈینو بورڈ سے براہ راست رابطے کے لئے بورڈ میں ایس سی ایل اور ایس ڈی اے پنوں میں ایک پل اپ رالجسٹر ہے ، لہذا آپ کو خود ان کو شامل کرنے کی فکر کرنے کی ضرورت نہیں ہے۔

I2C بس میں دونوں سمتوں کے ساتھ کام کرنے کے ل you ، آپ ان کو استعمال کرسکتے ہیں پنوں اور ہدایات:

  • AD0 = 1 یا اس سے زیادہ (5v): I0C ایڈریس 69x2 کیلئے۔
  • AD0 = 0 یا کم (GND یا Nc): I0C بس کے پتے 68x2 کے لئے۔

یاد رکھیں کہ ماڈل کی آپریٹنگ وولٹیج 3v3 ہے ، لیکن خوش قسمتی سے اس میں ایک بلٹ ان ریگولیٹر ہے ، لہذا اسے بغیر کسی مسئلے کے اردوینو 5v کے ساتھ تبدیل کیا جاسکتا ہے اور یہ اسے 3.3v میں تبدیل کردے گا۔

ویسے ، GND کے لئے اندرونی مزاحمت کرتے ہوئے ، اگر یہ پن متصل نہیں ہے تو ، پتہ پہلے سے طے شدہ یہ 0x68 ہوگا، چونکہ یہ ڈیفالٹ کے ذریعہ زمین سے منسلک ہوجائے گا ، لہذا اسے منطقی 0 سے تعبیر کریں۔

اردوینو کے ساتھ اتحاد

اردوینو اور MPU6050 کنکشن

آپ حاصل کر سکتے ہیں I2C بس کے بارے میں مزید معلومات اس مضمون میں آپ پہلے ہی جان چکے ہیں کہ ارڈینو بورڈ پر انحصار کرتے ہوئے بس کے لئے استعمال ہونے والی پن مختلف ہوتی ہیں ، لیکن اس میں Arduino UNO ینالاگ پن ہے A4 اور A5 ، ایس ڈی اے (ڈیٹا) اور SCL (گھڑی) کیلئے بالترتیب وہ واحد ارڈینو پن ہیں ، بورڈ کو طاقت دینے کے لئے 5v اور GND ون کے ساتھ ، جو آپ استعمال کریں۔ تو جتنا ممکن ہو رابطہ آسان ہے۔

MPU6050 کے افعال کے ل you آپ ان لائبریریوں کا استعمال کرسکتے ہیں جن کے بارے میں آپ اس لنک میں مزید معلومات حاصل کرسکتے ہیں I2C ماڈیول کا اور بس کا MPU6050۔.

ایردوینو بورڈ پروگرامنگ MPU6050 کے ساتھ زیادہ سیدھا نہیں ہے ، لہذا یہ ابتدائی افراد کے لئے نہیں ہے۔ اس کے علاوہ ، زاویوں کی سرعت یا حد کی حدود کو جانتے ہوئے ، آپ اس بات کا تعین کرنے کے لئے انشانکن کرسکتے ہیں کہ صحیح حرکت یا سرعت کیا رہی ہے۔ تاہم ، تاکہ آپ کو کم از کم اس کی مثال دی جاسکے کہ اسے استعمال کرنے پر کس طرح تبصرہ کیا جائے ، آپ کوڈ کو یہ ضابطہ دیکھ سکتے ہیں مثال کے طور پر آپ کے اردوینو IDE کے خاکہ جو ایکسلرومیٹر اور جیروسکوپ کے ذریعہ درج اقدار کو پڑھے گا:

// 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);
}

اگر آپ ابتدائی ہیں اور آپ بخوبی نہیں جانتے ہیں Ardino IDE کے ساتھ کیسے پروگرام کریںآپ کے سمجھنے میں یہ مشکل ہو جائے گا ، لہذا آپ اردوینو پروگرامنگ کے تعارفی کورس کے ساتھ ہمارے دستور سے مشورہ کرسکتے ہیں ...


مضمون کا مواد ہمارے اصولوں پر کاربند ہے ادارتی اخلاقیات. غلطی کی اطلاع دینے کے لئے کلک کریں یہاں.

تبصرہ کرنے والا پہلا ہونا

اپنی رائے دیں

آپ کا ای میل ایڈریس شائع نہیں کیا جائے گا. ضرورت ہے شعبوں نشان لگا دیا گیا رہے ہیں کے ساتھ *

*

*

  1. اعداد و شمار کے لئے ذمہ دار: میگل اینگل گاتین
  2. ڈیٹا کا مقصد: اسپیم کنٹرول ، تبصرے کا انتظام۔
  3. قانون سازی: آپ کی رضامندی
  4. ڈیٹا کا مواصلت: اعداد و شمار کو تیسری پارٹی کو نہیں بتایا جائے گا سوائے قانونی ذمہ داری کے۔
  5. ڈیٹا اسٹوریج: اوکیسٹس نیٹ ورکس (EU) کے میزبان ڈیٹا بیس
  6. حقوق: کسی بھی وقت آپ اپنی معلومات کو محدود ، بازیافت اور حذف کرسکتے ہیں۔