El GY-521 মডিউল এটি এমন একটি উপাদান যা প্রকল্পগুলিতে ব্যাপকভাবে ব্যবহৃত হয় যা গতিবিধি এবং অভিযোজন পরিমাপকে জড়িত করে, ধন্যবাদ যে এটি একটি একক ডিভাইসে একটি অ্যাক্সিলোমিটার এবং জাইরোস্কোপকে সংহত করে। এই উপাদানটি বহুমুখী এবং এটি Arduino-এর মতো উন্নয়ন প্ল্যাটফর্মের প্রকল্পগুলিতে ব্যবহার করা যেতে পারে, যা তিনটি অক্ষ এবং কৌণিক বেগের ত্বরণ সম্পর্কিত গুরুত্বপূর্ণ তথ্য প্রদান করে।
এই নিবন্ধটি আপনাকে GY-521 এর সাথে বুঝতে এবং কাজ করার জন্য প্রয়োজনীয় সমস্ত তথ্য প্রদান করবে, এর সবচেয়ে প্রযুক্তিগত বৈশিষ্ট্য থেকে কোড উদাহরণ পর্যন্ত যা আপনি Arduino এর সাথে প্রয়োগ করতে পারেন। আমরা আরও দেখব কিভাবে এই মডিউলটি Arduino এর সাথে কানেক্ট করা যায় এবং আপনার প্রজেক্টে কি ধরনের ডাটা বের করে ব্যবহার করা যায়।
GY-521 কি এবং এটি কিভাবে কাজ করে?
GY-521 মডিউলটি MPU-6050 সেন্সরের উপর ভিত্তি করে তৈরি করা হয়েছে, একটি চিপ যা একটি তিন-অক্ষের অ্যাক্সিলোমিটারকে তিন-অক্ষের জাইরোস্কোপের সাথে একত্রিত করে। এর মানে হল যে GY-521 তিনটি অক্ষে (X, Y এবং Z) উভয়ই ত্বরণ এবং কৌণিক বেগ পরিমাপ করতে পারে।
অ্যাক্সিলোমিটার এটি তিনটি দিকের ত্বরণ পরিমাপ করে, যার মধ্যে গতির কারণে ত্বরণ এবং মাধ্যাকর্ষণ দ্বারা সৃষ্ট ত্বরণ উভয়ই অন্তর্ভুক্ত। এর মানে এটি পৃথিবীর সাপেক্ষে ডিভাইসটি যে কোণে কাত হয়েছে তা সনাক্ত করতে পারে।
জাইরোস্কোপ, এর অংশের জন্য, তিনটি অক্ষে কৌণিক বা ঘূর্ণন গতি পরিমাপ করে। এইভাবে আপনি জানতে পারবেন কোন কিছু কত দ্রুত এবং কোন দিকে ঘুরছে।
GY-521 এর প্রযুক্তিগত বৈশিষ্ট্য
GY-521 শুধুমাত্র এর অ্যাক্সিলোমিটার এবং জাইরোস্কোপ ইন্টিগ্রেশনের জন্যই নয়, বরং বেশ কয়েকটি প্রযুক্তিগত বৈশিষ্ট্যের জন্যও যা এটিকে রোবোটিক্স প্রকল্প, ড্রোন এবং অন্যান্য সিস্টেমের জন্য আদর্শ করে তোলে যার গতিবিধির সুনির্দিষ্ট পরিমাপ প্রয়োজন।
- অপারেটিং ভোল্টেজ: এটি 3.3V এবং 5V উভয়েই চালিত হতে পারে, ধন্যবাদ যে এটি মডিউলে একটি ভোল্টেজ নিয়ন্ত্রক অন্তর্ভুক্ত করে।
- I2C সংযোগ: এই মডিউলটি I2C বাস ব্যবহার করে Arduino বা অন্য কোনো প্ল্যাটফর্মের সাথে যোগাযোগ করে, যা ডিভাইসটিকে সংযোগ এবং নিয়ন্ত্রণ করা সহজ করে তোলে।
- অ্যাক্সিলোমিটার পরিমাপ পরিসীমা: অ্যাক্সিলোমিটার ±2g থেকে ±16g পর্যন্ত একটি সামঞ্জস্যযোগ্য পরিসরে পরিমাপ করতে পারে, যা আপনাকে প্রকল্পের প্রয়োজন অনুযায়ী সঠিকতা সামঞ্জস্য করতে দেয়।
- জাইরোস্কোপ পরিমাপ পরিসীমা: অ্যাক্সিলোমিটারের মতো, জাইরোস্কোপেরও বিভিন্ন সামঞ্জস্যযোগ্য রেঞ্জ রয়েছে, যথা ±250, ±500, ±1000 বা ±2000 ডিগ্রি প্রতি সেকেন্ডে।
এই বৈশিষ্ট্যগুলি ছাড়াও, GY-521 এ রয়েছে একটি ডিজিটাল এনালগ কনভার্টার (CAD) 16 বিট, যা সেন্সর থেকে অ্যানালগ সংকেতগুলিকে ডিজিটাল ডেটাতে রূপান্তরের ক্ষেত্রে উচ্চ নির্ভুলতা নিশ্চিত করে যা আপনার Arduino দ্বারা প্রক্রিয়া করা যেতে পারে।
Arduino এর সাথে GY-521 সংযোগ করা হচ্ছে
GY-521 মডিউলকে Arduino এর সাথে সংযুক্ত করা I2C ইন্টারফেসের জন্য খুবই সহজ ধন্যবাদ। সে আই 2 সি বাস এটি দুটি পিন ব্যবহার করে: একটি ডেটা সংকেত (এসডিএ) এর জন্য এবং আরেকটি ঘড়ি সংকেত (এসসিএল) এর জন্য।
একটি বোর্ডের সাথে GY-521 সংযোগ করতে Arduino UNO:
- পিনটি সংযুক্ত করুন VCC মডিউল থেকে Arduino এর 5V পিনে।
- পিনটি সংযুক্ত করুন GND মডিউল থেকে Arduino GND পিনে।
- পিনটি সংযুক্ত করুন SCL Arduino এর A5 পিন করতে।
- পিনটি সংযুক্ত করুন এস্ ডি Arduino এর A4 পিন করতে।
একবার আপনি আরডুইনোতে GY-521 সংযুক্ত করলে, আপনি অ্যাক্সিলোমিটার এবং জাইরোস্কোপ থেকে ডেটা পড়া শুরু করতে একটি সাধারণ কোড উদাহরণ আপলোড করতে পারেন।
Arduino দিয়ে GY-521 থেকে ডেটা পড়ার জন্য কোডের উদাহরণ
অ্যাক্সিলোমিটার এবং জাইরোস্কোপ থেকে আসা ডেটা পড়া শুরু করার জন্য নীচে আমরা আপনাকে একটি মৌলিক কোড উদাহরণ দেখাই। লাইব্রেরি ব্যবহার করা হয় তারে যা GY-2 এর মতো I521C ডিভাইসের সাথে যোগাযোগের সুবিধা দেয়।
#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 অবশ্যই আপনার অবশ্যই থাকা উপাদানগুলির তালিকায় থাকা উচিত।