সুচিপত্র:

কিভাবে MPU-6050 (GY-521) দিয়ে কোণ পরিমাপ করবেন: 3 টি ধাপ
কিভাবে MPU-6050 (GY-521) দিয়ে কোণ পরিমাপ করবেন: 3 টি ধাপ

ভিডিও: কিভাবে MPU-6050 (GY-521) দিয়ে কোণ পরিমাপ করবেন: 3 টি ধাপ

ভিডিও: কিভাবে MPU-6050 (GY-521) দিয়ে কোণ পরিমাপ করবেন: 3 টি ধাপ
ভিডিও: How to use MPU-6050 Accelerometer and Gyroscope with Arduino code 2024, ডিসেম্বর
Anonim
কিভাবে MPU-6050 (GY-521) দিয়ে কোণ পরিমাপ করা যায়
কিভাবে MPU-6050 (GY-521) দিয়ে কোণ পরিমাপ করা যায়

এই নির্দেশনায়, আমরা একটি Arduino দিয়ে কোণ পরিমাপ করব। কোণ পরিমাপ করার জন্য আমাদের কিছু তারের প্রয়োজন, একটি Arduino UNO এবং GY-521 (MPU-6050)।

ধাপ 1: MPU-6050 কে Arduino UNO এর সাথে সংযুক্ত করা হচ্ছে

MPU-6050 কে Arduino UNO এর সাথে সংযুক্ত করা হচ্ছে
MPU-6050 কে Arduino UNO এর সাথে সংযুক্ত করা হচ্ছে

কোণ পরিমাপের জন্য আমাদের কিছু পুরুষ-মহিলা কেবল, একটি Arduino UNO এবং GY-521 (MPU-6050) সেন্সর দরকার। আমাদের ছবিতে MPU-6050 কে Arduino UNO এর সাথে সংযুক্ত করতে হবে। সুতরাং,

  • VCC থেকে 5V (MPU-6050 3.3V দিয়ে কাজ করে কিন্তু GY-521 এটি 5V তে বাড়ায়।),
  • GND থেকে GND,
  • এসসিএল থেকে এ 5,
  • SDA থেকে A4,
  • ADO থেকে GND,
  • INT থেকে ডিজিটাল পিন 2।

ধাপ 2: কোড

কোড
কোড

এখানে কোড। এটি I2C ব্যবহার করে। আমি ইন্টারনেট থেকে কোডের কিছু অংশ নিয়েছি। (I2C অংশ)

// লিখেছেন আহম্মেদ বুরকে কিরনিক // এমপিইউ -6050 (GY-521) দিয়ে এঙ্গেলের পরিমাপ

#অন্তর্ভুক্ত

const int MPU_addr = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ;

int minVal = 265; int maxVal = 402;

ডাবল এক্স; ডবল y; ডাবল জেড;

অকার্যকর সেটআপ () {Wire.begin (); Wire.beginTransmission (MPU_addr); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (সত্য); Serial.begin (9600); } অকার্যকর লুপ () {Wire.beginTransmission (MPU_addr); Wire.write (0x3B); Wire.endTransmission (মিথ্যা); Wire.requestFrom (MPU_addr, 14, সত্য); AcX = Wire.read () << 8 | Wire.read (); AcY = Wire.read () << 8 | Wire.read (); AcZ = Wire.read () << 8 | Wire.read (); int xAng = মানচিত্র (AcX, minVal, maxVal, -90, 90); int yAng = মানচিত্র (AcY, minVal, maxVal, -90, 90); int zAng = মানচিত্র (AcZ, minVal, maxVal, -90, 90);

x = RAD_TO_DEG * (atan2 (-yAng, -zAng)+PI); y = RAD_TO_DEG * (atan2 (-xAng, -zAng)+PI); z = RAD_TO_DEG * (atan2 (-yAng, -xAng)+PI);

Serial.print ("AngleX ="); Serial.println (x);

Serial.print ("AngleY ="); Serial.println (y);

Serial.print ("AngleZ ="); Serial.println (z); Serial.println ("-----------------------------------------"); বিলম্ব (400); }

ধাপ 3: সম্পন্ন

সম্পন্ন!
সম্পন্ন!

এটা শেষ! যদি এটি কাজ না করে বা আপনার সাহায্যের প্রয়োজন হয়, দয়া করে একটি মন্তব্য করুন অথবা একটি ইমেল পাঠান। আপনি মন্তব্য থেকে আমার ইমেল ঠিকানা খুঁজে পেতে পারেন। যাইহোক, আমার ইংরেজি এত ভাল না তাই আমি আমার খারাপ ইংরেজির জন্য ক্ষমা চাই।

আহম্মেদ বুরকে কিরনিক

ইস্তাম্বুল, তুরস্ক

সম্পাদনা করুন: 2 বছর পর, আমার ইংরেজি আরও ভাল হয়েছে তাই আমি কিছু ভুল সংশোধন করেছি।

প্রস্তাবিত: