MPU6050: আরডুইনোর সাথে অবস্থানের জন্য মডিউল

MPU6050 বোর্ড

আপনার যদি কোনও প্রকল্প তৈরি করতে এবং এটির অবস্থানের প্রয়োজন হয় তবে এটি জেনে নিন কিভাবে এটি স্থাপন করা হয় স্থান সম্পর্কিত, আপনি মডিউল ব্যবহার করতে পারেন এমপিইউ 6050। অর্থাৎ, এই মডিউলটি একটি অন্তর্বর্তী পরিমাপ ইউনিট বা আইএমইউ (ইনটারিয়াল মেজারমেন্ট ইউনিট) সহ 6 ডিগ্রি স্বাধীনতা (ডুএফ)। এটি 3-অক্ষ এক্সিলারোমিটার টাইপ সেন্সর এবং 3-অক্ষের জাইরস্কোপকে ধন্যবাদ জানায় যা এটি কাজ করে।

এই MPU6050 জানতে পারে যে কীভাবে অন্তর্ভুক্ত জিনিসটি ব্যবহারের জন্য স্থিত অ্যাপ্লিকেশন নেভিগেশন, গনিমেট্রি, স্থিতিশীলতা, অঙ্গভঙ্গি নিয়ন্ত্রণ ইত্যাদি মোবাইল ফোনে সাধারণত এই ধরণের সেন্সর অন্তর্ভুক্ত থাকে, উদাহরণস্বরূপ, অঙ্গভঙ্গির মাধ্যমে নির্দিষ্ট ফাংশনগুলি নিয়ন্ত্রণ করে যেমন স্মার্টফোনটি চালু করা বন্ধ করা, ভিডিওকে গেমগুলিতে গাড়ি চালানো যেমন স্টিয়ারিং হুইল ইত্যাদি etc.

অ্যাকসিলোমিটার এবং জাইরোস্কোপ কী?

এমইএমএস উদাহরণ

এমইএমএস উদাহরণ

আচ্ছা, কিছু অংশে যাক। প্রথম জিনিসটি হ'ল এই ধরণের সেন্সরগুলি কী তা ত্বরণ এবং মোড় সনাক্ত করতে সক্ষম, যেমন তাদের নিজস্ব নাম থেকে অনুমান করা যেতে পারে।

  • অ্যাকসিলরোমিটারটির: ত্বরণ পরিমাপ করে, অর্থাৎ প্রতি ইউনিটের গতি পরিবর্তন। মনে রাখবেন যে পদার্থবিজ্ঞানে, সময়ের সাথে বেগের পরিবর্তন (a = dV / dt) ত্বরণের সংজ্ঞা। নিউটনের দ্বিতীয় আইন অনুসারে, আমাদের কাছে এ = এফ / এমও আছে এবং অ্যাক্সিলোমিটাররা এটি কাজ করতে ব্যবহার করে, এটি হ'ল তারা শক্তির পরামিতি এবং বস্তুর ভর ব্যবহার করে। যাতে এটি ইলেক্ট্রনিক্সে প্রয়োগ করা যায়, এমইএমএস (মাইক্রো ইলেক্ট্রো মেকানিকাল সিস্টেমস) কৌশল ব্যবহার করা হয়, যা প্রচলিত বৈদ্যুতিন চিপ উত্পাদন কৌশলগুলির থেকে পৃথক, যেহেতু একটি এমইএমএসে যান্ত্রিক অংশ তৈরি করা হয়। এই ক্ষেত্রে, ত্বরণ পরিমাপ করতে সক্ষম ট্র্যাক বা উপাদান তৈরি করা হয়। এর থেকে বোঝা যায় যে আরও অনেক ইউনিট নেওয়া যেতে পারে, যেমন বেগ (যদি ত্বরণ সময়ে সংহত হয়), যদি এটি আবার সংহত হয় তবে আমাদের স্থানচ্যুতি ইত্যাদি রয়েছে have এটি হ'ল কোনও অবজেক্টের অবস্থান বা গতিবিধি সনাক্ত করতে খুব আকর্ষণীয় পরামিতি।
  • গাইরোস্কোপ: যাকে জাইরোস্কোপও বলা হয়, এটি এমন একটি ডিভাইস যা কোনও বস্তুর কৌণিক বেগ পরিমাপ করে, অর্থাৎ সময়কালের প্রতি একক কৌণিক স্থানচ্যুতি বা কোনও শরীর তার অক্ষের চারপাশে কত দ্রুত ঘুরতে থাকে measures এই ক্ষেত্রে, এমওএমএস কৌশলগুলি কোরিওলিস নামে পরিচিত একটি প্রভাব ব্যবহার করে এই গতি পরিমাপ করতেও ব্যবহৃত হয়। এটি ধন্যবাদ, কৌণিক বেগ পরিমাপ করা যেতে পারে বা, সময় সম্মানের সাথে কৌণিক বেগ একীকরণের মাধ্যমে, কৌণিক স্থানচ্যুতি প্রাপ্ত করা যেতে পারে।

MPU6050 মডিউল

এমপিইউ 6050 পিনআউট

অ্যাক্সিলারোমিটার এবং জাইরোস্কোপ কী তা এখন আপনি জানেন, MPU6050 মডিউল একটি বৈদ্যুতিন বোর্ড যা এই দুটি উপাদানকে একীভূত করে আপনাকে কোনও উপাদানের অবস্থানে এই পরিবর্তনগুলি পরিমাপ করার অনুমতি দেয় এবং এইভাবে একটি প্রতিক্রিয়া তৈরি করতে সক্ষম হয়। উদাহরণস্বরূপ, যখন কোনও বস্তু একটি এলইডি লাইট বা অন্য অনেক জটিল জিনিস সরিয়ে দেয়।

যেমনটি আমি বলেছিলাম, এটির 6 টি অক্ষর রয়েছে স্বাধীনতা, ডিএফ, 3-অক্ষ এক্স, ওয়াই এবং জেড ত্বরণ এক্সিলারোমিটার এবং অন্যান্য 3-অক্ষ গাইরোস্কোপ কৌণিক বেগ পরিমাপ। আপনি যেভাবে মডিউলটি এবং পরিমাপের জন্য ঘূর্ণনের দিকটি অবস্থান করছেন তাতে কোনও ভুল না করার জন্য আপনাকে অ্যাকাউন্টে নিতে হবে, কারণ আপনি যদি ভুল চিহ্নটি করেন তবে এটি কিছুটা বিশৃঙ্খল হবে। নিম্নলিখিত চিত্রটি দেখুন যেখানে এটি অক্ষগুলির দিক নির্দিষ্ট করে (তবে খেয়াল করুন যে পিসিবি নিজেও এটি একদিকে মুদ্রিত করেছে):

ডেটাশিট এমপিইউ 6050

এটি বিবেচনা করে এবং পিনআউট, এমপিইউ 6050 ব্যবহার শুরু করার জন্য আপনার কাছে কম বেশি কিছু পরিষ্কার আছে। আপনি আগের ছবিটিতে দেখতে পাচ্ছেন, সংযোগগুলি বেশ সহজ এবং এটি আই 2 সি যোগাযোগকে আরডুইনো সহ বেশিরভাগ মাইক্রোকন্ট্রোলারের সাথে সামঞ্জস্য করতে দেয়। আরডুইনো বোর্ডের সাথে সরাসরি সংযোগের জন্য বোর্ডে এসসিএল এবং এসডিএ পিনগুলির একটি পুল-আপ রেজিস্টার রয়েছে, সুতরাং সেগুলি আপনাকে নিজের সম্পর্কে যুক্ত করার বিষয়ে আপনার চিন্তা করার দরকার নেই।

আই 2 সি বাসে উভয় দিক নিয়ে কাজ করতে, আপনি এগুলি ব্যবহার করতে পারেন পিন এবং দিকনির্দেশ:

  • AD0 = 1 বা উচ্চ (5 ভি): আই 0 সি ঠিকানা 69x2 এর জন্য।
  • AD0 = 0 বা নিম্ন (জিএনডি বা এনসি): আই 0 সি বাসের 68x2 ঠিকানার জন্য।

মনে রাখবেন যে মডেলটির অপারেটিং ভোল্টেজ 3v3, তবে ভাগ্যক্রমে এটি একটি অন্তর্নির্মিত নিয়ামক রয়েছে, সুতরাং এটি আরডুইনো 5v এর সাথে কোনও সমস্যা ছাড়াই বিভক্ত হতে পারে এবং এটি 3.3v তে রূপান্তরিত করবে।

যাইহোক, জিএনডি-র অভ্যন্তরীণ প্রতিরোধ থাকা, যদি এই পিনটি সংযুক্ত না থাকে তবে ঠিকানা ডিফল্টরূপে এটি 0x68 হবে, যেহেতু এটি ডিফল্টরূপে পৃথিবীতে সংযুক্ত হবে, এটি যুক্তিযুক্ত 0 হিসাবে ব্যাখ্যা করবে।

আরডুইনোর সাথে একীকরণ

আরডুইনো এবং এমপিইউ 6050 সংযোগ

তুমি পেতে পার আই 2 সি বাস সম্পর্কে আরও তথ্য এই অনুচ্ছেদে. আপনি ইতিমধ্যে জানেন যে আরডুইনো বোর্ডের উপর নির্ভর করে বাসের জন্য ব্যবহৃত পিনগুলি পরিবর্তিত হয় তবে এর মধ্যে Arduino UNO এনালগ পিন হয় এসডিএ (ডেটা) এবং এসসিএল (ঘড়ি) এর জন্য এ 4 এবং এ 5 যথাক্রমে বোর্ডটি পাওয়ার জন্য 5v এবং GND- এর সাথে তারা কেবলমাত্র আরডুইনো পিন রয়েছে যা আপনার ব্যবহার করা উচিত। সুতরাং সংযোগটি যতটা সম্ভব সহজ।

MPU6050 এর কাজগুলির জন্য আপনি যে লাইব্রেরি ব্যবহার করতে পারেন সেগুলির জন্য আপনি এই লিঙ্কটিতে আরও তথ্য পেতে পারেন I2C মডিউল এবং বাসের এমপিইউ 6050.

আরডুইনো বোর্ড প্রোগ্রামিং এমপিইউ 6050 এর সাথে খুব সোজা নয়, সুতরাং এটি নতুনদের জন্য নয়। এছাড়াও, কোণগুলির ত্বরণ বা সীমাগুলির সীমাটি জেনে আপনি সঠিক গতি বা ত্বরণ কী হয়েছে তা নির্ধারণ করতে আপনি ক্রমাঙ্কন করতে পারেন। তবে, যাতে কমপক্ষে এটি ব্যবহারে কীভাবে মন্তব্য করা যায় তার একটি উদাহরণ থাকতে পারে, তবে আপনি এই কোডটি দেখতে পারেন আপনার আরডুইনো আইডিইর জন্য স্কেচের উদাহরণ যা অ্যাক্সিলোমিটার এবং জাইরোস্কোপ দ্বারা রেকর্ডকৃত মানগুলি পড়বে:

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

আপনি যদি শিক্ষানবিস হন এবং আপনি ভাল জানেন না কিভাবে আরডুইনো আইডিই দিয়ে প্রোগ্রাম করবেন, এটি আপনার পক্ষে বুঝতে অসুবিধা হবে, সুতরাং আপনি বিনা মূল্যে আরডুইনো প্রোগ্রামিংয়ের পরিচিতি কোর্সের সাথে আমাদের ম্যানুয়ালটির সাথে পরামর্শ করতে পারেন ...


মন্তব্য করতে প্রথম হতে হবে

আপনার মন্তব্য দিন

আপনার ইমেল ঠিকানা প্রকাশিত হবে না। প্রয়োজনীয় ক্ষেত্রগুলি দিয়ে চিহ্নিত করা *

*

*

  1. ডেটার জন্য দায়বদ্ধ: মিগুয়েল অ্যাঞ্জেল গাটান
  2. ডেটার উদ্দেশ্য: নিয়ন্ত্রণ স্প্যাম, মন্তব্য পরিচালনা।
  3. আইনীকরণ: আপনার সম্মতি
  4. তথ্য যোগাযোগ: ডেটা আইনি বাধ্যবাধকতা ব্যতীত তৃতীয় পক্ষের কাছে জানানো হবে না।
  5. ডেটা স্টোরেজ: ওসেন্টাস নেটওয়ার্কস (ইইউ) দ্বারা হোস্ট করা ডেটাবেস
  6. অধিকার: যে কোনও সময় আপনি আপনার তথ্য সীমাবদ্ধ করতে, পুনরুদ্ধার করতে এবং মুছতে পারেন।