সুচিপত্র:

ধাঁধা ধাঁধা জন্য Gyro সেন্সর নিয়ন্ত্রিত প্ল্যাটফর্ম: 3 ধাপ
ধাঁধা ধাঁধা জন্য Gyro সেন্সর নিয়ন্ত্রিত প্ল্যাটফর্ম: 3 ধাপ

ভিডিও: ধাঁধা ধাঁধা জন্য Gyro সেন্সর নিয়ন্ত্রিত প্ল্যাটফর্ম: 3 ধাপ

ভিডিও: ধাঁধা ধাঁধা জন্য Gyro সেন্সর নিয়ন্ত্রিত প্ল্যাটফর্ম: 3 ধাপ
ভিডিও: নার্ভের সমস্যার সমাধান | নার্ভের রোগ | Nerve Problem Solution bangla | Nerve Disease bengali 2024, জুলাই
Anonim
ধাঁধা ধাঁধা জন্য Gyro সেন্সর নিয়ন্ত্রিত প্ল্যাটফর্ম
ধাঁধা ধাঁধা জন্য Gyro সেন্সর নিয়ন্ত্রিত প্ল্যাটফর্ম

এই নির্দেশনাটি সাউথ ফ্লোরিডা বিশ্ববিদ্যালয়ে মেক কোর্সের প্রকল্পের প্রয়োজনীয়তা পূরণের জন্য তৈরি করা হয়েছিল (www.makecourse.com)"

এই সহজ প্রকল্পটি একটি স্ব-ভারসাম্যপূর্ণ প্ল্যাটফর্ম দ্বারা অনুপ্রাণিত যা অ্যাকসিলরোমিটার সেন্সর থেকে প্রতিক্রিয়া নেয়। আপনি যদি ইতিমধ্যে না করেন তবে এটি পরীক্ষা করে দেখুন।

প্রকল্পটি Arduino UNO ব্যবহার করে - একটি মাইক্রোকন্ট্রোলার ব্যবহার করা সহজ যা আপনি অনলাইন শপিং ওয়েবসাইট থেকে পেতে পারেন! এই নির্দেশনায়, আমি দেখাব কিভাবে আপনি আপনার নিজের প্রোগ্রামযোগ্য টিল্টিং প্ল্যাটফর্ম তৈরি করতে পারেন - নকশা প্রক্রিয়া থেকে সোর্সিং পার্টস, থ্রিডি প্রিন্টিং ফাইল, সমাবেশ এবং প্রোগ্রামিং পর্যন্ত। লেগে থাকুন এবং এগিয়ে চলুন!

ধাপ 1: প্রয়োজনীয় উপাদান এবং 3D মুদ্রিত অংশ

প্রয়োজনীয় উপাদান এবং 3D মুদ্রিত অংশ
প্রয়োজনীয় উপাদান এবং 3D মুদ্রিত অংশ
প্রয়োজনীয় উপাদান এবং 3D মুদ্রিত অংশ
প্রয়োজনীয় উপাদান এবং 3D মুদ্রিত অংশ
প্রয়োজনীয় উপাদান এবং 3D মুদ্রিত অংশ
প্রয়োজনীয় উপাদান এবং 3D মুদ্রিত অংশ

প্রকল্পের জন্য ব্যবহৃত উপাদানগুলির তালিকা:

1. আরডুইনো ইউএনও মাইক্রোকন্ট্রোলার।

2. জাম্পার তারের সঙ্গে রুটিবোর্ড।

3. একটি বাক্স।

4. বৃত্তাকার প্ল্যাটফর্ম

5. মেজ।

6. লিঙ্ক - 3 না

7. তিনটি servos মাউন্ট করার জন্য একটি বেস।

8. Gyro/Accelerometer সেন্সর। (MPU6050)

9.1 বর্গ মিমি তারের (500 সেমি) - 4 না

10. 3 মিমি দিয়া ইস্পাত বল।

প্রকল্পের জন্য ব্যবহৃত বেশিরভাগ অংশ 3D মুদ্রিত এবং আমি stl সংযুক্ত করেছি। ফাইল মুদ্রণের জন্য প্রস্তুত।

চিত্রে দেখানো সব অংশ একত্রিত করুন। ছবির মতো দেখতে গোলক প্ল্যাটফর্মে গোলকধাঁধা গরম আঠালো। বাক্সের idাকনাতে লাগানো 3D মুদ্রিত বেসে তিনটি সার্ভস গরম আঠালো হওয়া উচিত। ছবিতে দেখানো হিসাবে বাক্সটিতে Arduino UNO এবং ব্রেডবোর্ড একত্রিত রয়েছে। পরবর্তী ধাপে ব্রেডবোর্ড সেটআপ নিয়ে আলোচনা করা হবে।

সমাবেশের পরে, চূড়ান্ত প্রোটোটাইপটি শেষ ছবির মতো হওয়া উচিত।

ধাপ 2: ব্রেডবোর্ড সেটআপ

ব্রেডবোর্ড সেটআপ
ব্রেডবোর্ড সেটআপ
ব্রেডবোর্ড সেটআপ
ব্রেডবোর্ড সেটআপ
ব্রেডবোর্ড সেটআপ
ব্রেডবোর্ড সেটআপ

সমাবেশের পরে, Arduino, Accelerometer সেন্সর, servos সংযুক্ত করা হয় নিচের বর্ণিত হিসাবে।

ব্রেডবোর্ডে ইতিবাচক এবং নেতিবাচক রেল যথাক্রমে 5V এবং Arduino এর GND এর সাথে সংযুক্ত। সেন্সরটি অর্ডিনোর সাথে অর্ধ মিটার তার ব্যবহার করে সংযুক্ত করা হয় যা সেন্সরের কাছে বিক্রি করা হয় যাতে সেন্সরের VCC এবং GND পিনগুলি যথাক্রমে ব্রেডবোর্ডে +ve এবং -ve রেলগুলির সাথে সংযুক্ত থাকে। সেন্সরের এসসিএল এবং এসডিএ পিনগুলি Arduino এর A5 এবং A4 এনালগ পিনের সাথে সংযুক্ত করা হবে। তিনটি সার্ভোর PWM পিনগুলি যথাক্রমে Arduino এর 2, 3, 4 পিনের সাথে সংযুক্ত এবং সমস্ত সার্ভারের +ve এবং -ve পিনগুলি ব্রেডবোর্ডের +ve এবং -ve রেলগুলির সাথে সংযুক্ত। এই সঙ্গে, আমাদের সংযোগ সম্পন্ন করা হয়।

ধাপ 3: প্রকল্পের জন্য কোড।

আপনি ইন্টারনেট থেকে MPU6050 এবং Servo লাইব্রেরি ডাউনলোড করে প্রকল্পের জন্য ব্যবহার করতে পারেন। আরডুইনোতে নিম্নলিখিত কোডটি কম্পাইল এবং আপলোড করুন এবং প্রকল্পটি প্রস্তুত। সেন্সর টিল্ট করুন এবং আপনি দেখতে পারেন গোলকধাঁধা একই দিকে কাত হয়ে যাচ্ছে! ধাঁধাটি সমাধান করতে কিছুটা সময় লাগে কারণ এটি একটু চ্যালেঞ্জিং কিন্তু এটি খেলতে মজা।

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

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

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

Servo Servo1;

Servo Servo2;

Servo Servo3;

MPU6050 সেন্সর;

int servoPos1 = 90;

int servoPos2 = 90;

int servoPos3 = 90;

int16_t কুড়াল, ay, az;

int16_t gx, gy, gz;

অকার্যকর সেটআপ ()

{

Servo1.attach (2);

Servo2.attach (3);

Servo3.attach (4);

Wire.begin ();

Serial.begin (9600);

}

অকার্যকর লুপ ()

{

sensor.getMotion6 (& ax, & ay, & az, & gx, & gy, & gz);

ax = মানচিত্র (ax, -17000, 17000, 0, 180);

ay = মানচিত্র (ay, -17000, 17000, 0, 180);

Serial.print ("ax =");

সিরিয়াল.প্রিন্ট (কুড়াল);

সিরিয়াল.প্রিন্ট ("ay =");

Serial.println (ay);

যদি (ax <80 && ay <80) {

Servo1.write (servoPos1 ++);

Servo2.write (servoPos2--);

Servo3.write (servoPos3--); }

যদি (ax 120) {

Servo1.write (servoPos1--);

Servo2.write (servoPos2 ++);

Servo3.write (servoPos3--); }

যদি (ax> 120 && ay> 0) {

Servo1.write (servoPos1--);

Servo2.write (servoPos2--);

Servo3.write (servoPos3 ++); }

যদি (ax == 90 && ay == 90) {

Servo1.write (0);

Servo2.write (0);

Servo3.write (0);

}

}

প্রস্তাবিত: