Arduino এর সাথে GY-521 মডিউল কিভাবে ব্যবহার করবেন: সম্পূর্ণ গাইড

  • GY-521 একই চিপে অ্যাক্সিলোমিটার এবং জাইরোস্কোপকে একত্রিত করে।
  • আরও সুনির্দিষ্ট পরিমাপ পেতে আপনাকে স্কেল সামঞ্জস্য করতে দেয়।
  • I2C ইন্টারফেসের মাধ্যমে সহজেই Arduino এর সাথে সংযোগ করে।
  • এটি ড্রোন, রোবোটিক্স এবং পরিধানযোগ্য ডিভাইস প্রকল্পের জন্য উপযুক্ত।

GY-521 Arduino মডিউল

এর সমন্বিত অ্যাক্সেলেরোমিটার এবং জাইরোস্কোপের কারণে, GY -521 মডিউলটি গতি এবং অভিমুখ পরিমাপ সংক্রান্ত প্রকল্পগুলিতে একটি বহুল ব্যবহৃত উপাদান। এই বহুমুখী উপাদানটি আরডুইনোর মতো ডেভেলপমেন্ট প্ল্যাটফর্মের প্রকল্পগুলিতে ব্যবহার করা যেতে পারে, যা ত্রি-অক্ষীয় ত্বরণ এবং কৌণিক বেগের উপর মূল্যবান ডেটা প্রদান করে।

এই নিবন্ধটি আপনাকে GY-521 এর সাথে বুঝতে এবং কাজ করার জন্য প্রয়োজনীয় সমস্ত তথ্য প্রদান করবে, এর সবচেয়ে প্রযুক্তিগত বৈশিষ্ট্য থেকে কোড উদাহরণ পর্যন্ত যা আপনি Arduino এর সাথে প্রয়োগ করতে পারেন। আমরা আরও দেখব কিভাবে এই মডিউলটি Arduino এর সাথে কানেক্ট করা যায় এবং আপনার প্রজেক্টে কি ধরনের ডাটা বের করে ব্যবহার করা যায়।

GY-521 কি এবং এটি কিভাবে কাজ করে?

GY-521 মডিউলটি MPU-6050 সেন্সরের উপর ভিত্তি করে তৈরি করা হয়েছে, একটি চিপ যা একটি তিন-অক্ষের অ্যাক্সিলোমিটারকে তিন-অক্ষের জাইরোস্কোপের সাথে একত্রিত করে। এর মানে হল যে GY-521 তিনটি অক্ষে (X, Y এবং Z) উভয়ই ত্বরণ এবং কৌণিক বেগ পরিমাপ করতে পারে।

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

অন্যদিকে, জাইরোস্কোপ তিনটি অক্ষ বরাবর কৌণিক বা ঘূর্ণন গতি পরিমাপ করে। এর মাধ্যমে কোনো বস্তু কত দ্রুত এবং কোন দিকে ঘুরছে তা নির্ণয় করা যায়।

GY-521 এর প্রযুক্তিগত বৈশিষ্ট্য

gy-521 arduino-4

GY-521 শুধুমাত্র এর অ্যাক্সিলোমিটার এবং জাইরোস্কোপ ইন্টিগ্রেশনের জন্যই নয়, বরং বেশ কয়েকটি প্রযুক্তিগত বৈশিষ্ট্যের জন্যও যা এটিকে রোবোটিক্স প্রকল্প, ড্রোন এবং অন্যান্য সিস্টেমের জন্য আদর্শ করে তোলে যার গতিবিধির সুনির্দিষ্ট পরিমাপ প্রয়োজন।

  • অপারেটিং ভোল্টেজ: এটি 3.3V এবং 5V উভয়েই চালিত হতে পারে, ধন্যবাদ যে এটি মডিউলে একটি ভোল্টেজ নিয়ন্ত্রক অন্তর্ভুক্ত করে।
  • I2C সংযোগ: এই মডিউলটি I2C বাস ব্যবহার করে Arduino বা অন্য কোনো প্ল্যাটফর্মের সাথে যোগাযোগ করে, যা ডিভাইসটিকে সংযোগ এবং নিয়ন্ত্রণ করা সহজ করে তোলে।
  • অ্যাক্সিলোমিটার পরিমাপ পরিসীমা: অ্যাক্সিলোমিটার ±2g থেকে ±16g পর্যন্ত একটি সামঞ্জস্যযোগ্য পরিসরে পরিমাপ করতে পারে, যা আপনাকে প্রকল্পের প্রয়োজন অনুযায়ী সঠিকতা সামঞ্জস্য করতে দেয়।
  • জাইরোস্কোপ পরিমাপ পরিসীমা: অ্যাক্সিলোমিটারের মতো, জাইরোস্কোপেরও বিভিন্ন সামঞ্জস্যযোগ্য রেঞ্জ রয়েছে, যথা ±250, ±500, ±1000 বা ±2000 ডিগ্রি প্রতি সেকেন্ডে।

এই বৈশিষ্ট্যগুলো ছাড়াও, GY-521-এ একটি ১৬-বিট অ্যানালগ-টু-ডিজিটাল কনভার্টার (ADC) রয়েছে , যা সেন্সর থেকে আসা অ্যানালগ সংকেতকে উচ্চ নির্ভুলতার সাথে ডিজিটাল ডেটায় রূপান্তর করা নিশ্চিত করে, যা আপনার আরডুইনো দ্বারা প্রক্রিয়াজাত করা যায়।

Arduino এর সাথে GY-521 সংযোগ করা হচ্ছে

I2C ইন্টারফেসের কারণে GY-521 মডিউলকে আরডুইনোর সাথে সংযোগ করা খুবই সহজ। I2C বাস দুটি পিন ব্যবহার করে: একটি ডেটা সিগন্যালের জন্য (SDA) এবং অন্যটি ক্লক সিগন্যালের জন্য (SCL)।

একটি বোর্ডের সাথে GY-521 সংযোগ করতে Arduino UNO:

  • পিনটি সংযুক্ত করুন VCC মডিউল থেকে Arduino এর 5V পিনে।
  • পিনটি সংযুক্ত করুন GND মডিউল থেকে Arduino GND পিনে।
  • পিনটি সংযুক্ত করুন SCL Arduino এর A5 পিন করতে।
  • পিনটি সংযুক্ত করুন এস্ ডি Arduino এর A4 পিন করতে।

একবার আপনি আরডুইনোতে GY-521 সংযুক্ত করলে, আপনি অ্যাক্সিলোমিটার এবং জাইরোস্কোপ থেকে ডেটা পড়া শুরু করতে একটি সাধারণ কোড উদাহরণ আপলোড করতে পারেন।

Arduino দিয়ে GY-521 থেকে ডেটা পড়ার জন্য কোডের উদাহরণ

অ্যাক্সেলেরোমিটার এবং জাইরোস্কোপ থেকে ডেটা পড়া শুরু করতে সাহায্য করার জন্য নিচে একটি সাধারণ কোড উদাহরণ দেওয়া হলো। এটি Wire.h লাইব্রেরি ব্যবহার করে , যা GY-521-এর মতো I2C ডিভাইসগুলোর সাথে যোগাযোগ সহজ করে।

#include 

const int MPU = 0x68; // Dirección I2C del MPU-6050.
int16_t accelerometer_x, accelerometer_y, accelerometer_z;
int16_t gyro_x, gyro_y, gyro_z;
int16_t temperature;

void setup() {
  Serial.begin(9600);
  Wire.begin();
  Wire.beginTransmission(MPU);
  Wire.write(0x6B); // Registro de gestión de energía del MPU6050.
  Wire.write(0); // Coloca a cero para activar el sensor.
  Wire.endTransmission(true);
}

void loop() {
  Wire.beginTransmission(MPU);
  Wire.write(0x3B); // Comienza a leer desde el registro 0x3B (datos de aceleración).
  Wire.endTransmission(false);
  Wire.requestFrom(MPU, 14, true); // Solicita 14 registros del sensor.

  // Leer datos de aceleración:
  accelerometer_x = Wire.read() << 8 | Wire.read();
  accelerometer_y = Wire.read() << 8 | Wire.read();
  accelerometer_z = Wire.read() << 8 | Wire.read();

  // Leer datos de giroscopio:
  gyro_x = Wire.read() << 8 | Wire.read();
  gyro_y = Wire.read() << 8 | Wire.read();
  gyro_z = Wire.read() << 8 | Wire.read();

  Serial.print("Acc: X="); Serial.print(accelerometer_x);
  Serial.print(" | Y="); Serial.print(accelerometer_y);
  Serial.print(" | Z="); Serial.println(accelerometer_z);
  Serial.print("Gyro: X="); Serial.print(gyro_x);
  Serial.print(" | Y="); Serial.print(gyro_y);
  Serial.print(" | Z="); Serial.println(gyro_z);
  delay(500);
}

এই মৌলিক কোডটি তিনটি অক্ষের ত্বরণ এবং ঘূর্ণন ডেটা পড়বে এবং আরডুইনো সিরিয়াল মনিটরে মানগুলি প্রদর্শন করবে।

স্কেল এবং সংবেদনশীলতা সমন্বয়

GY-521 আপনাকে অ্যাক্সেলেরোমিটার এবং জাইরোস্কোপ উভয়ের স্কেল ও সংবেদনশীলতা সামঞ্জস্য করার সুযোগ দেয়, যা আরও নির্ভুল পরিমাপ পেতে বা এমন প্রকল্পের জন্য উপযোগী যেখানে আরও আকস্মিক নড়াচড়া শনাক্ত করার প্রয়োজন হয়।

জাইরোস্কোপ এবং অ্যাক্সিলোমিটারের স্কেল পরিবর্তন করতে, আপনাকে অবশ্যই MPU-6050-এর নির্দিষ্ট রেজিস্টারগুলি সংশোধন করতে হবে। এটি কীভাবে করবেন তা এখানে:

  • অ্যাক্সিলোমিটার স্কেল: আপনি রেজিস্ট্রেশন করে পরিসীমা ±2g, ±4g, ±8g বা ±16g-এ সামঞ্জস্য করতে পারেন ACCEL_CONFIG. এই রেজিস্টারে লেখা মানের উপর নির্ভর করে, পছন্দসই পরিসর বরাদ্দ করা হয়।
  • জাইরোস্কোপ স্কেল: জাইরোস্কোপের জন্য, রেজিস্টার করে রেঞ্জ প্রতি সেকেন্ডে ±250, ±500, ±1000 এবং ±2000 ডিগ্রির মধ্যে সামঞ্জস্য করা যেতে পারে। GYRO_CONFIG.

এই পরিবর্তনগুলি করার মাধ্যমে, সেন্সর তার সংবেদনশীলতা পরিবর্তন করবে, আপনাকে আরও সুনির্দিষ্ট ডেটা পেতে বা গতির একটি বিস্তৃত পরিসর সনাক্ত করতে অনুমতি দেবে৷

ডেটা ফিল্টারিং: পরিপূরক ফিল্টার

GY-521-এর মতো সেন্সর নিয়ে কাজ করার ক্ষেত্রে একটি প্রতিবন্ধকতা হলো, এর ত্বরণ এবং জাইরোস্কোপ ডেটাতে প্রায়শই কিছু নয়েজ থাকে। ডেটার মান উন্নত করার জন্য, একটি পরিপূরক ফিল্টার প্রয়োগ করা যেতে পারে যা উভয় সেন্সরকে একত্রিত করে ডিভাইসটির অভিমুখের আরও সঠিক একটি অনুমান প্রদান করে।

একটি পরিপূরক ফিল্টার অভিযোজনে দ্রুত পরিবর্তন পরিমাপ করতে জাইরোস্কোপ ডেটা ব্যবহার করে, যখন অ্যাক্সিলোমিটার ডেটা ড্রিফটের জন্য সংশোধন করতে এবং আরও স্থিতিশীল দীর্ঘমেয়াদী পরিমাপ পেতে ব্যবহৃত হয়।

GY-521 অ্যাপ্লিকেশন

ত্বরণ এবং কৌণিক বেগ পরিমাপ করার ক্ষমতার জন্য ধন্যবাদ, GY-521 বিভিন্ন ধরণের প্রকল্প এবং অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয়। সবচেয়ে সাধারণ কিছু অন্তর্ভুক্ত:

  • ড্রোন নিয়ন্ত্রণ ব্যবস্থা: এক্সেলেরোমিটার এবং জাইরোস্কোপ দ্বারা প্রদত্ত তথ্য ফ্লাইটে স্থিতিশীলতা বজায় রাখার চাবিকাঠি।
  • যন্ত্রমানব নির্মাণ বিদ্যা: কিছু রোবট তাদের পরিবেশের পরিবর্তনগুলি সরাতে এবং সনাক্ত করতে ত্বরণ এবং ঘূর্ণন ডেটা ব্যবহার করে।
  • পোর্টেবল ডিভাইস: GY-521 এর মতো সেন্সরগুলি ব্যবহারকারীর গতিবিধি পরিমাপ করতে ফিটনেস ব্যান্ড বা স্মার্ট ঘড়ির মতো ডিভাইসগুলিতে ব্যবহৃত হয়।

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

উপসংহার: কেন আপনার প্রকল্পের জন্য GY-521 বেছে নেওয়া উচিত

GY-521, একটি একক চিপে অ্যাক্সিলোমিটার এবং জাইরোস্কোপের একীকরণ সহ, যেকোনো ইলেকট্রনিক্স প্রকল্পের জন্য একটি শক্তিশালী এবং বহুমুখী হাতিয়ার। আরডুইনোর সাথে সামঞ্জস্যপূর্ণ এবং একটি I2C ইন্টারফেস থাকার কারণে যেকোন সিস্টেমে একীভূত করা সত্যিই সহজ। উপরন্তু, সংবেদনশীলতার পরিপ্রেক্ষিতে এর সামঞ্জস্যযোগ্যতা এবং এটি বিভিন্ন রোবোটিক্স, গতি নিয়ন্ত্রণ এবং আরও প্রকল্পে প্রয়োগ করা যেতে পারে যা প্রশিক্ষণে যে কোনও নির্মাতা বা প্রকৌশলীর জন্য এটিকে একটি আদর্শ পছন্দ করে তোলে।

আপনি যদি একাধিক অ্যাপ্লিকেশন সহ একটি নির্ভরযোগ্য, সহজেই ব্যবহারযোগ্য সেন্সর খুঁজছেন, GY-521 অবশ্যই আপনার অবশ্যই থাকা উপাদানগুলির তালিকায় থাকা উচিত।


Google-এ পছন্দের উৎস হিসেবে যোগ করুন