সুচিপত্র:

কিভাবে Arduino দিয়ে GY511 মডিউল ব্যবহার করবেন [একটি ডিজিটাল কম্পাস তৈরি করুন]: 11 টি ধাপ
কিভাবে Arduino দিয়ে GY511 মডিউল ব্যবহার করবেন [একটি ডিজিটাল কম্পাস তৈরি করুন]: 11 টি ধাপ

ভিডিও: কিভাবে Arduino দিয়ে GY511 মডিউল ব্যবহার করবেন [একটি ডিজিটাল কম্পাস তৈরি করুন]: 11 টি ধাপ

ভিডিও: কিভাবে Arduino দিয়ে GY511 মডিউল ব্যবহার করবেন [একটি ডিজিটাল কম্পাস তৈরি করুন]: 11 টি ধাপ
ভিডিও: Arduino Tutorial | Easy way to learn arduino programming 2024, জুলাই
Anonim
কিভাবে Arduino দিয়ে GY511 মডিউল ব্যবহার করবেন [একটি ডিজিটাল কম্পাস তৈরি করুন]
কিভাবে Arduino দিয়ে GY511 মডিউল ব্যবহার করবেন [একটি ডিজিটাল কম্পাস তৈরি করুন]

ওভারভিউ

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

আপনি যা শিখবেন

  • কম্পাস মডিউল কি?
  • কম্পাস মডিউল এবং Arduino ইন্টারফেস।
  • GY-511 মডিউল এবং আরডুইনো দিয়ে একটি ডিজিটাল কম্পাস তৈরি করুন।

ধাপ 1: কম্পাস মডিউল সম্পর্কে সাধারণ তথ্য

কম্পাস মডিউল সম্পর্কে সাধারণ তথ্য
কম্পাস মডিউল সম্পর্কে সাধারণ তথ্য

GY-511 মডিউলটিতে একটি 3-অক্ষের অ্যাকসিলরোমিটার এবং একটি 3-অক্ষের ম্যাগনেটোমিটার অন্তর্ভুক্ত রয়েছে। এই সেন্সরটি ± 2 g / ± 4 g / ± 8 g / ± 16 g এর পূর্ণ স্কেলে এবং magn 1.3 / ± 1.9 / ± 2.5 / ± 4.0 / ± 4.7 / ± 5.6 এর পূর্ণ স্কেলে রৈখিক ত্বরণ পরিমাপ করতে পারে / ± 8.1 গাউস।

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

টিপ

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

পদক্ষেপ 2: প্রয়োজনীয় উপাদান

প্রয়োজনীয় উপাদান
প্রয়োজনীয় উপাদান

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

Arduino UNO R3 *1

GY-511 3-Axis Accelerometer + Magnetometer *1

টাওয়ারপ্রো সার্ভো মোটর SG-90 *1

1602 LCD মডিউল *1

জাম্পার *1

সফটওয়্যার অ্যাপস

Arduino IDE

ধাপ 3: Arduino এর সাথে GY-511 কম্পাস মডিউল ইন্টারফেসিং

Arduino সঙ্গে GY-511 কম্পাস মডিউল ইন্টারফেসিং
Arduino সঙ্গে GY-511 কম্পাস মডিউল ইন্টারফেসিং
Arduino সঙ্গে GY-511 কম্পাস মডিউল ইন্টারফেসিং
Arduino সঙ্গে GY-511 কম্পাস মডিউল ইন্টারফেসিং

GY-511 কম্পাস মডিউলের 8 টি পিন আছে, কিন্তু Arduino- এর সাথে ইন্টারফেস করার জন্য তাদের মধ্যে মাত্র 4 টি প্রয়োজন। এই মডিউলটি I2C প্রোটোকল ব্যবহার করে Arduino এর সাথে যোগাযোগ করে, তাই মডিউলের SDA (I2C আউটপুট) এবং SCK (I2C ক্লক ইনপুট) পিনগুলিকে Arduino বোর্ডের I2C পিনের সাথে সংযুক্ত করুন।

যেমন আপনি দেখতে পাচ্ছেন, আমরা এই প্রকল্পে GY-511 মডিউল ব্যবহার করেছি। কিন্তু আপনি অন্যান্য LMS303 কম্পাস মডিউল স্থাপনের জন্য এই নির্দেশটি ব্যবহার করতে পারেন।

ধাপ 4: GY-511 কম্পাস মডিউল ক্রমাঙ্কন

নেভিগেট করার জন্য, আপনাকে প্রথমে মডিউলটি ক্যালিব্রেট করতে হবে, যার মানে পরিমাপের পরিসর 0 থেকে 360 ডিগ্রী পর্যন্ত সেট করা। এটি করার জন্য, মডিউলটিকে আরডুইনোতে নীচে দেখানো হিসাবে সংযুক্ত করুন এবং আপনার বোর্ডে নিম্নলিখিত কোডটি আপলোড করুন। কোডটি কার্যকর করার পরে, আপনি সিরিয়াল মনিটর উইন্ডোতে X, Y এবং Z অক্ষের জন্য পরিমাপের পরিসরের সর্বনিম্ন এবং সর্বোচ্চ মান দেখতে পারেন। পরের অংশে আপনার এই সংখ্যাগুলির প্রয়োজন হবে, তাই সেগুলি লিখুন।

ধাপ 5: সার্কিট

সার্কিট
সার্কিট

ধাপ 6: কোড

এই কোডে, আপনার I2C যোগাযোগের জন্য Wire.h লাইব্রেরি এবং কম্পাস মডিউলের জন্য LMS303.h লাইব্রেরির প্রয়োজন। আপনি নিম্নলিখিত লিঙ্কগুলি থেকে এই লাইব্রেরিগুলি ডাউনলোড করতে পারেন।

LMS303.h লাইব্রেরি

Wire.h লাইব্রেরি

যদি আপনি QMC5883 ব্যবহার করেন তবে আপনার নিম্নলিখিত লাইব্রেরির প্রয়োজন হবে:

MechaQMC5883L.h

এখানে, আমরা LMS303 এর কোড ব্যাখ্যা করি, কিন্তু আপনি QMC মডিউলের কোডগুলিও ডাউনলোড করতে পারেন।

আসুন কিছু নতুন ফাংশন দেখি:

compass.enableDefault ();

মডিউল আরম্ভ

compass.read ();

কম্পাস মডিউলের আউটপুট মান পড়া

running_min.z = মিনিট (running_min.z, compass.m.z); running_max.x = max (running_max.x, compass.m.x);

পরিমাপের মানগুলির তুলনা করে পরিমাপের পরিসরের সর্বনিম্ন এবং সর্বাধিক মান নির্ধারণ করা।

ধাপ 7: একটি ডিজিটাল কম্পাস তৈরি করা

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

ধাপ 8: সার্কিট

সার্কিট
সার্কিট

ধাপ 9: কোড

কোড
কোড

এই অংশের জন্য আপনার Servo.h লাইব্রেরিরও প্রয়োজন, যা আপনার Arduino সফটওয়্যারে ডিফল্টরূপে ইনস্টল করা আছে।

আসুন কিছু নতুন ফাংশন দেখি:

Servo Servo1;

মডিউল আরম্ভ

compass.read ();

সার্ভো মোটর অবজেক্ট প্রবর্তন

Servo1.attach (servoPin); compass.init (); compass.enableDefault ();

কম্পাস মডিউল এবং সার্ভো মোটর শুরু

Servo1.attach () যুক্তি হল servo মোটরের সাথে সংযুক্ত পিনের সংখ্যা।

compass.m_min = (LSM303:: ভেক্টর) { -32767, -32767, -32767}; compass.m_max = (LSM303:: vector) { +32767, +32767, +32767};

এই লাইনগুলি ব্যবহার করে আপনি পূর্ববর্তী অংশে প্রাপ্ত পরিসীমা পরিমাপের জন্য সর্বনিম্ন এবং সর্বোচ্চ মান নির্ধারণ করেন।

ফ্লোট হেডিং = কম্পাস হেডিং ((LSM303:: ভেক্টর) {0, 0, 1});

শিরোনাম () ফাংশন স্থানাঙ্ক অক্ষ এবং একটি নির্দিষ্ট অক্ষের মধ্যে কোণ প্রদান করে। আপনি ফাংশন যুক্তিতে একটি ভেক্টর দিয়ে স্থির অক্ষ নির্ধারণ করতে পারেন। উদাহরণস্বরূপ, এখানে, (LSM303:: vector) {0, 0, 1} সংজ্ঞায়িত করে, Z অক্ষকে ধ্রুবক অক্ষ হিসেবে বিবেচনা করা হয়।

Servo1.write (শিরোনাম);

Servo1.write () ফাংশনটি কম্পাস মডিউল দ্বারা পঠিত মানকে সার্ভো মোটরে প্রযোজ্য করে।

দ্রষ্টব্য যে সার্ভো মোটরের একটি চৌম্বকীয় ক্ষেত্র থাকতে পারে, তাই কম্পাস মডিউল থেকে উপযুক্ত দূরত্বে সার্ভো মোটর স্থাপন করা ভাল, যাতে এটি কম্পাস মডিউলকে বিচ্যুত না করে।

প্রস্তাবিত: