ARDUINO-lgoo

ARDUINO GY87 সম্মিলিত সেন্সর টেস্ট স্কেচ

ARDUINO-GY87-সম্মিলিত-সেন্সর-পরীক্ষা-স্কেচ-পণ্য

ভূমিকা

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

GY-87 IMU MPU6050 কি?

GY-87-এর মতো জড়তা পরিমাপ ইউনিট (IMU) মডিউলগুলি অনেকগুলি সেন্সরকে একক প্যাকেজে একত্রিত করে, যেমন MPU6050 অ্যাক্সিলোমিটার/গাইরোস্কোপ, HMC5883L ম্যাগনেটোমিটার এবং BMP085 ব্যারোমেট্রিক চাপ সেন্সর। তাই, GY-87 IMU MPU6050 হল একটি সর্ব-ইন-ওয়ান 9-অক্ষ মোশন ট্র্যাকিং মডিউল যা একটি 3-অক্ষ জাইরোস্কোপ, 3-অক্ষ অ্যাক্সিলোমিটার, 3-অক্ষ ম্যাগনেটোমিটার এবং একটি ডিজিটাল মোশন প্রসেসরকে একত্রিত করে। কোয়াডকপ্টার এবং অন্যান্য মনুষ্যবিহীন বায়বীয় যান (ইউএভি) এর মতো রোবোটিক প্রকল্পগুলিতে এটি প্রচুর ব্যবহৃত হয়, কারণ এটি সঠিকভাবে অভিযোজন এবং গতি পরিমাপ এবং ট্র্যাক করতে পারে। এটি ন্যাভিগেশন, গেমিং এবং ভার্চুয়াল বাস্তবতার মতো অন্যান্য অ্যাপ্লিকেশনগুলিতেও ব্যবহৃত হয়।

হার্ডওয়্যার উপাদান

আরডুইনোর সাথে GY-87 IMU MPU6050 HMC5883L BMP085 মডিউল ইন্টারফেস করার জন্য আপনাকে নিম্নলিখিত হার্ডওয়্যারের প্রয়োজন হবে।

উপাদান মান পরিমাণ
আরডুইনো ইউএনও 1
এমপিইউ 6050 সেন্সর মডিউল জি ওয়াই-87 1
ব্রেডবোর্ড 1
জাম্পার তারের 1

আরডুইনো সহ GY-87 

এখন আপনি GY-87 বুঝতে পেরেছেন, এটি Arduino এর সাথে ইন্টারফেস করার সময়। এটি করার জন্য, অনুসরণ করুন এখন আপনি GY-87 বুঝতে পেরেছেন, এটি আরডুইনোর সাথে ইন্টারফেস করার সময়। এটি করতে, অনুসরণ করুন

পরিকল্পিত

নিচে দেওয়া সার্কিট ডায়াগ্রাম অনুযায়ী সংযোগ তৈরি করুন

GY-87 IMU MPU6050 HMC5883L BMP085 ArduinoARDUINO-GY87-কম্বাইন্ড-সেন্সর-টেস্ট-স্কেচ-ডুমুর 1ওয়্যারিং / সংযোগ

আরডুইনো MPU6050 সেন্সর
5V ভিসিসি
জিএনডি জিএনডি
A4 এসডিএ
A5 SCA

Arduino IDE ইনস্টল করা হচ্ছে 

প্রথমে, আপনাকে এর অফিসিয়াল থেকে Arduino IDE সফটওয়্যার ইনস্টল করতে হবে webসাইট Arduino. এখানে "কিভাবে Arduino IDE ইন্সটল করবেন" এর একটি সহজ ধাপে ধাপে নির্দেশিকা রয়েছে।

লাইব্রেরি ইনস্টল করা 

আপনি কোড আপলোড করা শুরু করার আগে, /প্রোগ্রামে নিম্নলিখিত লাইব্রেরিগুলি ডাউনলোড এবং আনজিপ করুন৷ Files (x86)/Arduino/Libraries (ডিফল্ট) Arduino বোর্ডের সাথে সেন্সর ব্যবহার করার জন্য। এখানে "আরডুইনো আইডিইতে লাইব্রেরিগুলি কীভাবে যুক্ত করবেন" এর উপর একটি সহজ ধাপে ধাপে নির্দেশিকা রয়েছে।

  • এমপিইউ 6050
  • Adafruit_BMP085
  • HMC5883L_Simple

কোড 

এবার নিচের কোডটি কপি করে Arduino IDE সফটওয়্যারে আপলোড করুন।

#অন্তর্ভুক্ত "I2Cdev.h" #অন্তর্ভুক্ত "MPU6050.h" #অন্তর্ভুক্ত #অন্তর্ভুক্ত MPU085 accelgyro; Adafruit_BMP5883 bmp; HMC6050L_Simple কম্পাস; int085_t ax, ay, az; int5883_t gx, gy, gz; #define LED_PIN 16 bool blinkState = মিথ্যা; void সেটআপ() { Serial.begin(16); Wire.begin(); // ডিভাইস শুরু করুন Serial.println("I13C ডিভাইস শুরু করা হচ্ছে..."); // bmp9600 আরম্ভ করুন যদি (!bmp.begin()) { Serial.println("একটি বৈধ BMP2 সেন্সর খুঁজে পাওয়া যায়নি, চেক করুন (!bmp.begin()) { Serial.println("একটি বৈধ BMP085 সেন্সর খুঁজে পাওয়া যায়নি, Serial.println(accelgyro.testConnection() ? "MPU085 সংযোগ সফল" : "MPU085 সংযোগ ব্যর্থ হয়েছে"; accelgyro.setI6050CBypassEnabled(সত্য); // hmc6050L এর গেটওয়ের জন্য বাইপাস মোড সেট করুন // শুরু করুন hmc2L, Compassion 5883, 'E'); Compass.SetSamplingMode(COMPASS_SINGLE);
Compass.SetScale(COMPASS_SCALE_130);
Compass.SetOrientation(COMPASS_HORIZONTAL_X_NORTH); // অ্যাক্টিভিটি পিনমোড (LED_PIN, OUTPUT) চেক করার জন্য Arduino LED কনফিগার করুন; } void loop() {
Serial.print("তাপমাত্রা = "); Serial.print(bmp.readTemperature());
Serial.println("*C"); Serial.print("চাপ = ");
Serial.print(bmp.readPressure()); Serial.println("পা"); // 'স্ট্যান্ডার্ড' ব্যারোমেট্রিক ধরে ধরে উচ্চতা গণনা করুন // 1013.25 মিলিবার = 101325 প্যাসকেল সিরিয়াল. প্রিন্ট (“উচ্চতা = “); Serial.print(bmp.readAltitude()); Serial.println("মিটার"); Serial.print("সীললেভেলে চাপ (গণনা করা) = ");
Serial.print(bmp.readSealevelPressure()); Serial.println("পা");
Serial.print("Real altitude = "); Serial.print(bmp.readAltitude(101500));
Serial.println("মিটার"); // ডিভাইস accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz) থেকে raw accel/gyro পরিমাপ পড়ুন; // প্রদর্শন ট্যাব-বিচ্ছিন্ন accel/gyro x/y/z মান Serial.print(“a/g:\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); float শিরোনাম =
Compass.GetHeadingDegrees(); Serial.print("শিরোনাম: \t"); Serial.println( শিরোনাম); // blink LED কার্যকলাপ নির্দেশ করতে blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState); বিলম্ব (500); }

এটা পরীক্ষা করা যাক 

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

কাজের ব্যাখ্যা 

কোড হল প্রধান জিনিস যার উপর ভিত্তি করে সার্কিট কাজ করে। সুতরাং, আসুন কোডটি বুঝতে পারি:।

  • প্রথমত, এতে সেন্সরগুলির সাথে ইন্টারফেস করার জন্য বেশ কয়েকটি লাইব্রেরি রয়েছে:
  • "I2Cdev.h" এবং "MPU6050.h" হল MPU6050 6-অক্ষ অ্যাক্সিলোমিটার/গাইরোস্কোপ সেন্সরের জন্য লাইব্রেরি
  • "Adafruit_BMP085.h" হল BMP085 ব্যারোমেট্রিক চাপ সেন্সরের জন্য একটি লাইব্রেরি।
  • "HMC5883L_Simple.h" হল HMC5883L ম্যাগনেটোমিটার সেন্সরের জন্য একটি লাইব্রেরি৷
  • তারপরে এটি তিনটি সেন্সরের জন্য বিশ্বব্যাপী বস্তু তৈরি করে: MPU6050 accelgyro, Adafruit_BMP085 bmp, এবং HMC5883L_Simple Compass।
  • এর পরে, এটি সেন্সর মান সংরক্ষণ করার জন্য কিছু ভেরিয়েবলকে সংজ্ঞায়িত করে, যেমন MPU6050 এর অ্যাক্সিলোমিটারের জন্য ax, ay এবং az এবং HMC5883L এর ম্যাগনেটোমিটারের জন্য হেড করা। এবং এটি একটি LED_PIN ধ্রুবক এবং একটি blinkState ভেরিয়েবলকে সংজ্ঞায়িত করে৷
  • সেটআপ() ফাংশন একটি সিরিয়াল যোগাযোগ শুরু করে এবং I2C যোগাযোগ শুরু করে। তারপরে এটি তিনটি সেন্সর শুরু করে:
  • BMP085 সেন্সরটি begin() পদ্ধতিতে কল করে আরম্ভ করা হয়। যদি এটি মিথ্যা প্রত্যাবর্তন করে, ইঙ্গিত করে যে সেন্সরটি খুঁজে পাওয়া যায়নি, প্রোগ্রামটি একটি অসীম লুপে প্রবেশ করে এবং সিরিয়াল পোর্টে একটি ত্রুটি বার্তা প্রিন্ট করে।
  • MPU6050 সেন্সরটি ইনিশিয়ালাইজ() পদ্ধতিতে কল করে এবং এটি সঠিকভাবে কাজ করছে কিনা তা পরীক্ষা করে শুরু করা হয়। এবং এটি MPU2 এর জন্য সক্ষম I6050C বাইপাস সেট করে।
  • HMC5883L সেন্সর কিছু ফাংশন যেমন SetDeclination, SetS কল করে আরম্ভ করা হয়ampসেন্সরের জন্য বিভিন্ন কনফিগারেশন সেট করার জন্য lingMode, SetScale এবং SetOrientation।
  • লুপ() ফাংশনে, কোডটি তিনটি সেন্সর থেকে ডেটা পড়ে এবং সিরিয়াল পোর্টে প্রিন্ট করে:
  • এটি সেন্সর থেকে সমুদ্রপৃষ্ঠের তাপমাত্রা, চাপ, উচ্চতা এবং চাপ পড়ে।
  • এটি MPU6050 সেন্সর থেকে কাঁচা ত্বরণ এবং জাইরোস্কোপ পরিমাপ পড়ে।
  • এটি HMC5883L সেন্সর থেকে শিরোনামটি পড়ে, যা সেন্সর যে দিকে নির্দেশ করছে এবং যে দিকে চৌম্বকীয় উত্তর রয়েছে তার মধ্যে কোণ।
  • অবশেষে, এটি কার্যকলাপ নির্দেশ করতে LED ব্লিঙ্ক করে এবং সেন্সরগুলি পুনরায় পড়ার আগে কিছুক্ষণ অপেক্ষা করে।

দলিল/সম্পদ

ARDUINO GY87 সম্মিলিত সেন্সর টেস্ট স্কেচ [পিডিএফ] ব্যবহারকারী ম্যানুয়াল
GY87 কম্বাইন্ড সেন্সর টেস্ট স্কেচ, GY87, কম্বাইন্ড সেন্সর টেস্ট স্কেচ, সেন্সর টেস্ট স্কেচ, টেস্ট স্কেচ

তথ্যসূত্র

একটি মন্তব্য করুন

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