সুচিপত্র:
- সরবরাহ
- ধাপ 1: 3D প্রিন্ট: শরীর, চাকা, মার্বেল কাস্টার, 6 মিমি বোল্ট/বাদাম, এবং অতিস্বনক সেন্সর মাউন্ট
- ধাপ 2: Arduino প্রোগ্রাম করুন
- ধাপ 3: রোবট একত্রিত করুন
- ধাপ 4: সেন্সর তার সংযুক্ত করুন
- ধাপ 5: সমাপ্ত !!! 9V Arduino পাওয়ার সাপ্লাই সংযোগ করুন, ব্যাটারি প্যাক চালু করুন এবং OAREE এর সাথে বাধা এড়ানো শুরু করুন
ভিডিও: OAREE - 3D মুদ্রিত - ইঞ্জিনিয়ারিং এডুকেশনের জন্য রোবট এড়ানো বাধা (OAREE) Arduino এর সাথে: 5 টি ধাপ (ছবি সহ)
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
OAREE (ইঞ্জিনিয়ারিং শিক্ষার জন্য রোবট এড়ানো বাধা)
নকশা: এই নির্দেশনার লক্ষ্য ছিল একটি OAR (বাধা এড়ানো রোবট) রোবট ডিজাইন করা যা সহজ/কম্প্যাক্ট, 3D মুদ্রণযোগ্য, একত্রিত করা সহজ, চলাচলের জন্য ক্রমাগত ঘূর্ণন সার্ভিস ব্যবহার করে এবং যতটা সম্ভব ক্রয় করা অংশ থাকে। আমি বিশ্বাস করি যে আমি এই অসাধারণ রোবট তৈরিতে সফল হয়েছি এবং এর নাম দিয়েছি OAREE (ইঞ্জিনিয়ারিং শিক্ষার জন্য রোবট এভয়েস্টেডিং এভয়েডিং)। এই রোবট প্রতিবন্ধকতা অনুভব করবে, থামবে, বাম এবং ডান দিকে তাকাবে, তারপর অনির্দিষ্ট দিকে ঘুরবে এবং এগিয়ে চলবে।
পটভূমি: ইন্টারনেটে রোবটগুলি এড়াতে অসংখ্য বাধা রয়েছে, তবে বেশিরভাগই ভারী, একত্রিত করা কঠিন এবং ব্যয়বহুল। এই রোবটগুলির মধ্যে অনেকগুলি Arduino কোড সরবরাহ করা হয়েছে, কিন্তু একটি সুচিন্তিত, কাজের উদাহরণ খুঁজে পাওয়া কঠিন ছিল। আমি চাকার জন্য (ডিসি মোটরের পরিবর্তে) ক্রমাগত ঘূর্ণন সার্ভিস ব্যবহার করতে চেয়েছিলাম, যা এখনও করা হয়নি। সুতরাং, আমি বিশ্বের সাথে ভাগ করে নেওয়ার জন্য একটি কমপ্যাক্ট, উদ্ভাবনী OAR রোবট তৈরির একটি মিশন শুরু করেছি।
আরও উন্নয়ন: এই রোবটটি আরও উন্নত পিংিং নির্ভুলতার জন্য আরও উন্নত করা যেতে পারে, লাইনের পরের আইআর সেন্সর যুক্ত করার ক্ষমতা, বাধা দূরত্ব প্রদর্শনের জন্য এলসিডি স্ক্রিন এবং আরও অনেক কিছু।
সরবরাহ
- 1x Arduino Uno -
- 1x V5 সেন্সর শিল্ড -
- অন/অফ সুইচ সহ 1x 4xAA ব্যাটারি হোল্ডার -
- 1x SG90 Servo -
- 2x ক্রমাগত ঘূর্ণন সার্ভিস -
- Arduino ()চ্ছিক) জন্য 1x 9V ব্যাটারি পাওয়ার কেবল -
- 1x HC -SR04 অতিস্বনক সেন্সর -
- 4x মহিলা-মহিলা জাম্পার ওয়্যার-https://www.amazon.com/RGBZONE-120pcs- মাল্টি কালারড
- 2x রাবার ব্যান্ড
- 1x 9V ব্যাটারি ()চ্ছিক)
- 4x এএ ব্যাটারি
- 4x ছোট স্ক্রু (4 x 1/2 বা অনুরূপ কিছু)
- স্ক্রু ড্রাইভার
- চাকা থেকে রাবার ব্যান্ড সুরক্ষিত করার জন্য আঠালো
ধাপ 1: 3D প্রিন্ট: শরীর, চাকা, মার্বেল কাস্টার, 6 মিমি বোল্ট/বাদাম, এবং অতিস্বনক সেন্সর মাউন্ট
3 ডি প্রিন্টের 5 টি অংশ রয়েছে।
- শরীর
- চাকা
- মার্বেল কাস্টার
- 6 মিমি বোল্ট/বাদাম (alচ্ছিক, একটি ধাতু বাদাম/বোল্ট প্রতিস্থাপিত হতে পারে)
- অতিস্বনক সেন্সর মাউন্ট
সমস্ত প্রয়োজনীয়. STL ফাইলগুলি এই নির্দেশযোগ্য এবং স্কেচআপ ফাইলগুলির অন্তর্ভুক্ত। 40% infill সুপারিশ
ধাপ 2: Arduino প্রোগ্রাম করুন
Arduino UNO- এ কোড পাঠান: Arduino IDE ব্যবহার করে, কোডটি (সংযুক্ত ফাইলে) আপনার Arduino মডিউলে পাঠান। আপনাকে এই স্কেচ সহ servo.h এবং newping.h লাইব্রেরি ডাউনলোড করে অন্তর্ভুক্ত করতে হবে।
কোডটি পুঙ্খানুপুঙ্খভাবে মন্তব্য করা হয়েছে, তাই আপনি দেখতে পারেন প্রতিটি কমান্ড কি করে। আপনি চাইলে অতি সহজেই অতিস্বনক সেন্সরের দূরত্বকে বড় বা ছোট মানের পরিবর্তন করতে পারেন। এটি একটি প্রাথমিক কোড এবং এটিকে সম্প্রসারিত করা এবং আরও প্রকল্পের উন্নয়নের জন্য ব্যবহার করা হয়।
// OBSTACLE AVOIDING ROBOT // [email protected], [email protected], TN University of Chattanooga, Electrical Engineering, FALL 2019 // প্রয়োজনীয় উপাদান: // 1) Arduiino UNO, 2) Servo Sensor Shield v5.0, 3) HCSR04 Ulrasonic Sensor, 4) FS90 Servo (Ultrasonic Sensor এর জন্য) // 5 & 6) 2x ধারাবাহিক ঘূর্ণন সার্ভিস চাকার জন্য // 7) 16mm মার্বেল রিয়ার ক্যাস্টর পিভট, 8 এবং 9) 2 চাকার জন্য 2 রাবারব্যান্ড // 10- 15) 1x (4xAA) অন/অফ সুইচ সহ ব্যাটারি হোল্ডার, 16 ও 17) 9V ব্যাটারি সংযোগকারী সঙ্গে Arduino UNO // 3 ডি প্রিন্ট: // 18) রোবট বডি, 19 এবং 20) 2x চাকা, 21) মার্বেল কাস্টার, 22) অতিস্বনক সেন্সর মাউন্ট, এবং 6 মিমি স্ক্রু (সংযুক্ত ফাইলগুলি দেখুন) // -------------------------------------- -------------------------------------------------- ----------------------------------------- #অন্তর্ভুক্ত // সার্ভো লাইব্রেরি অন্তর্ভুক্ত #অন্তর্ভুক্ত // নিউপিং লাইব্রেরি অন্তর্ভুক্ত করুন // ------------------------------------------- -------------------------------------------------- ------------------------------------ #সংজ্ঞায়িত করুন TRIGGER_PIN 1 2 // আরডুইনোতে 12 টি পিন করার জন্য ইউএস ট্রিগার #ECHO_PIN 13 সংজ্ঞায়িত করুন // ------------------------------------------------ -------------------------------------------------- ------------------------------- Servo US_Servo; // অতিস্বনক সেন্সর Servo Servo Left_Servo; // বাম চাকা Servo Servo Right_Servo; // রাইট হুইল সার্ভো নিউপিং সোনার (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // পিনের নিউপিং সেটআপ এবং সর্বোচ্চ দূরত্ব। // ------------------------------------------------ -------------------------------------------------- ------------------------------- অকার্যকর সেট আপ {পিনমোড (12, আউটপুট); // ট্রিগার পিন সেট আউটপুট পিনমোড (13, ইনপুট); // ইকো পিন সেট ইনপুট US_Servo.attach (11); // US Servo 11 US_Servo.write (90) পিন করতে সেট; // ইউএস সার্ভো ফরওয়ার্ড
Left_Servo.attach (9); // বাম চাকা servo পিন 9
Left_Servo.write (90); // বাম চাকা সার্ভো স্টপ সেট
Right_Servo.attach (10); // ডান চাকা সার্ভো 10 পিন সেট
Right_Servo.write (90); // ডান চাকা সার্ভো বিলম্ব বন্ধ করতে সেট করা (2000); // 2 সেকেন্ডের জন্য অপেক্ষা করুন দূরত্ব = readPing (); // সোজা এগিয়ে অবস্থান বিলম্ব (100) এ পিং দূরত্ব পান; // 100 ms moveForward () এর জন্য অপেক্ষা করুন; // রোবট এগিয়ে যায়} // ------------------------------------------ -------------------------------------------------- ------------------------------------- অকার্যকর লুপ () {int distanceRight = 0; // 0 দূরত্বের ডানদিকে মার্কিন দূরত্ব শুরু করুন বাম = 0; // 0 থেকে US বাম দিকে দূরত্ব শুরু করুন //US_Servo.write(90); // কেন্দ্র ইউএস সার্ভো // বিলম্ব (50); // US_Servo.write (70); // একটু ডান দিকে দেখুন // বিলম্ব (250); // US_Servo.write (110); // একটু বাম দেখুন // বিলম্ব (250); // US_Servo.write (90); // লুক সেন্টার
যদি (দূরত্ব <= 20) // রোবট এগিয়ে যায় {moveStop (); // রোবট থামে দূরত্ব = distanceLeft) // ঠিক করুন কোন দিকে ঘুরতে হবে {turnRight (); // ডান দিকে সবচেয়ে বেশি দূরত্ব, 0.3 সেকেন্ড বিলম্বের জন্য রোবট টার্নস ডান (500); // এই বিলম্ব মোড় দৈর্ঘ্য moveStop () নির্ধারণ করে; // রোবট STOPS} অন্য {turnLeft (); // বাম দিকের সবচেয়ে বড় দূরত্ব, রোবট বাঁক 0.3 সেকেন্ড বিলম্বের জন্য (500); // এই বিলম্ব মোড় দৈর্ঘ্য moveStop () নির্ধারণ করে; // রোবট STOPS}} অন্য {moveForward (); // রোবট এগিয়ে যায়} দূরত্ব = readPing (); // ভ্রমণের নতুন দিকনির্দেশের জন্য যুক্তরাষ্ট্র নতুন পিং পড়ছে} // ----------------------------------- -------------------------------------------------- -------------------------------------------- int lookRight () // অতিস্বনক সেন্সর সঠিক ফাংশন দেখুন {US_Servo.write (30); // ইউএস সার্ভো কোণ বিলম্বের অধিকার (500) সরায়; int দূরত্ব = readPing (); // সঠিক বিলম্বের জন্য পিং মান সেট করুন (100); US_Servo.write (90); // ইউএস সার্ভো সেন্টার রিটার্ন দূরত্বে চলে যায়; // দূরত্ব সেট করা হয়েছে} // ------------------------------------------ -------------------------------------------------- ------------------------------------- int lookLeft () // অতিস্বনক সেন্সর বাম ফাংশন দেখুন {US_Servo.লিখন (150); // ইউএস সার্ভো কোণ বিলম্ব (500) বামে চলে যায়; int দূরত্ব = readPing (); // বাম বিলম্বের জন্য পিং মান সেট করুন (100); US_Servo.write (90); // ইউএস সার্ভো সেন্টার রিটার্ন দূরত্বে চলে যায়; // দূরত্ব সেট করা হয়েছে} // ------------------------------------------ -------------------------------------------------- ------------------------------------- int readPing () // অতিস্বনক সেন্সরের জন্য পিং ফাংশন পড়ুন। {বিলম্ব (100); // 100ms মধ্যে পিংস (মিনিট পিং সময় = 0.29ms) int cm = sonar.ping_cm (); // PING দূরত্ব সংগ্রহ করা হয় এবং সেমি সেট করা হয় যদি (cm == 0) {cm = 250; } রিটার্ন সেমি; } // ----------------------------------------------- -------------------------------------------------- -------------------------------- অকার্যকর moveStop () // রোবট স্টপ {Left_Servo.write (90); // LeftServo 180 এগিয়ে, 0 বিপরীত Right_Servo.write (90); // RightServo 0 এগিয়ে, 180 বিপরীত} // --------------------------------------- -------------------------------------------------- ---------------------------------------- অকার্যকর moveForward () // রোবট ফরওয়ার্ড {Left_Servo.লেখা (180); // LeftServo 180 এগিয়ে, 0 বিপরীত Right_Servo.write (0); // RightServo 0 এগিয়ে, 180 বিপরীত} // --------------------------------------- -------------------------------------------------- ---------------------------------------- অকার্যকর পদক্ষেপ ব্যাকওয়ার্ড () // রোবট ব্যাকওয়ার্ড {বাম_সার্ভো লিখুন (0); // LeftServo 180 এগিয়ে, 0 বিপরীত Right_Servo.write (180); // RightServo 0 এগিয়ে, 180 বিপরীত} // --------------------------------------- -------------------------------------------------- ---------------------------------------- অকার্যকর রাইট () // রোবট ডান {বাম_সার্ভো.লেখ (180); // LeftServo 180 এগিয়ে, 0 বিপরীত Right_Servo.write (90); // RightServo 0 এগিয়ে, 180 বিপরীত} // --------------------------------------- -------------------------------------------------- ---------------------------------------- অকার্যকর turnLeft () // ROBOT LEFT {Left_Servo লিখুন (90); // LeftServo 180 এগিয়ে, 0 বিপরীত Right_Servo.write (0); // RightServo 0 এগিয়ে, 180 বিপরীত} // --------------------------------------- -------------------------------------------------- ----------------------------------------
ধাপ 3: রোবট একত্রিত করুন
এখন সময় এসেছে আপনার রোবটকে একত্রিত করার। পদক্ষেপগুলি নীচে তালিকাভুক্ত করা হয়েছে।
1) রাউন্ড সার্ভো ডিস্ক এবং রাবার ব্যান্ডগুলিকে চাকায় সংযুক্ত করুন: সমস্ত সার্ভিস প্লাস্টিকের মাউন্ট হার্ডওয়্যার এবং স্ক্রু দিয়ে আসে। বৃত্তাকার ডিস্কগুলি সন্ধান করুন এবং চাকার সমতল দিকের দুটি গর্তে সেগুলি স্ক্রু করুন। রাবার ব্যান্ডগুলি চিপের চারপাশে খাপ খাইয়ে দেয়। আপনি রাবার ব্যান্ডগুলি জায়গায় রাখার জন্য একটু আঠালো যোগ করতে চাইতে পারেন।
2) মার্বেল কাস্টার সংযুক্তি: পিছনে দুটি ত্রিভুজের সাথে মার্বেল কাস্টার সংযুক্ত করতে দুটি ছোট স্ক্রু ব্যবহার করুন। মার্বেল কাস্টার একটি পিছন চাকা জন্য একটি সহজ প্রতিস্থাপন এবং একটি পিছন পিভট পয়েন্ট প্রদান করে।
3) স্লটগুলিতে সার্ভোস সন্নিবেশ করান (কোন স্ক্রু প্রয়োজন নেই): শরীরের সামনের স্লটে FS90 Servo (অতিস্বনক সেন্সরের জন্য) রাখুন। দুটি ক্রমাগত ঘূর্ণন servos বাম এবং ডান স্লট মধ্যে স্লাইড। স্লটগুলি একটি শক্ত ফিটের জন্য ডিজাইন করা হয়েছে, যাতে সার্ভোসগুলি রাখার জন্য কোনও স্ক্রু প্রয়োজন হয় না। নিশ্চিত করুন যে সার্বো তারগুলি স্লটে খাঁজ দিয়ে চলছে যাতে তারা শরীরের পিছনের দিকে মুখ করে থাকে।
4) 9V ব্যাটারি প্লেসমেন্ট ()চ্ছিক): সামনের সার্ভোর পিছনে 9V ব্যাটারি + Arduino পাওয়ার সংযোগকারী রাখুন।
5) অতিস্বনক সেন্সর মাউন্ট সমাবেশ: অতিস্বনক সেন্সর মাউন্ট প্লেটের নীচে অন্তর্ভুক্ত সাদা প্লাস্টিকের সারো সংযুক্তিগুলির একটি সংযুক্ত করতে দুটি ছোট স্ক্রু ব্যবহার করুন। পরবর্তীতে, মাউন্ট প্লেটে অতিস্বনক সেন্সর কেস সংযুক্ত করতে 3D মুদ্রিত 6 মিমি বোল্ট/বাদাম (বা একটি ধাতব বল্ট/বাদাম প্রতিস্থাপন করুন) ব্যবহার করুন। অবশেষে, ক্ষেত্রে সেন্সরটি পিনের সাথে উপরের দিকে রাখুন এবং কেসের পিছনে স্ন্যাপ করুন।
6x 4x AA ব্যাটারি কেস: AA ব্যাটারি কেসটি বড় আয়তক্ষেত্রাকার এলাকায় রাখুন, অন/অফ সুইচটি পিছনের দিকে মুখ করে।
7) Arduino Uno + V5 সেন্সর শিল্ড: Arduino এর সাথে ieldাল সংযুক্ত করুন এবং ব্যাটারি কেসের উপরে মাউন্ট করুন। পাওয়ার সংযোগকারীটি বাম দিকে মুখ করা উচিত।
আপনার রোবট তৈরি! কি বাকী আছে? Arduino এবং সংযোগকারী জাম্পার তারের প্রোগ্রামিং: Servos, অতিস্বনক সেন্সর, এবং বিদ্যুৎ সরবরাহ।
ধাপ 4: সেন্সর তার সংযুক্ত করুন
V5 শিল্ডে Servo তারের সংযোগ করুন:
- বাম ক্রমাগত ঘূর্ণন Servo পিন 9 সংযুক্ত করে
- ডান ধারাবাহিক ঘূর্ণন Servo পিন 10 সংযুক্ত করে
- সামনে FS90 Servo পিন 11 সংযুক্ত করে
অতিস্বনক সেন্সর পিনগুলি (4x মহিলা থেকে মহিলা জাম্পার তারের মাধ্যমে) V5 শিল্ডের সাথে সংযুক্ত করুন:
- PIN 12 এ ট্রিগার করুন
- ইকো থেকে পিন 13
- 'V' দিয়ে চিহ্নিত পিনের যেকোনো একটিতে VCC
- 'G' দিয়ে চিহ্নিত পিনের যেকোনো একটিকে গ্রাউন্ড করুন
এএ ব্যাটারি কেসকে ভি 5 শিল্ডের সাথে সংযুক্ত করুন:
- VCC সংযোগকারীতে ধনাত্মক, লাল তার সংযুক্ত করুন
- গ্রাউন্ড সংযোগে নেতিবাচক, কালো তার সংযুক্ত করুন
ধাপ 5: সমাপ্ত !!! 9V Arduino পাওয়ার সাপ্লাই সংযোগ করুন, ব্যাটারি প্যাক চালু করুন এবং OAREE এর সাথে বাধা এড়ানো শুরু করুন
সমাপ্ত !
1) 9V Arduino পাওয়ার সাপ্লাই সংযোগ করুন (চ্ছিক)
2) ব্যাটারি প্যাক চালু করুন
3) OAREE এর সাথে বাধা এড়ানো শুরু করুন !!!
আমি নিশ্চিত যে আপনি আপনার নতুন বন্ধু, OAREE এর প্রতি অনুরক্ত হয়ে উঠবেন, এটি দেখার পরে একটি বাধা, ব্যাক আপ এবং দিক পরিবর্তন। OAREE বড় বস্তুর সাথে সবচেয়ে ভাল কাজ করে যা অতিস্বনক সেন্সর বন্ধ করতে পারে (দেয়ালের মতো)। চেয়ারের পায়ের মতো ছোট বস্তুগুলিকে তাদের ছোট পৃষ্ঠের ক্ষেত্র এবং কোণগুলির কারণে পিং করা কঠিন সময়। অনুগ্রহ করে শেয়ার করুন, আরও বিকাশ করুন এবং কোন প্রয়োজনীয় সমন্বয় বা ত্রুটি সম্পর্কে আমাকে জানান। এটি একটি দুর্দান্ত শেখার অভিজ্ঞতা হয়েছে এবং আমি আশা করি আপনি এই প্রকল্পটি তৈরি করতে যতটা মজা পেয়েছেন ততটা মজা পাবেন!
রোবটিক্স প্রতিযোগিতায় রানার আপ
প্রস্তাবিত:
ভারী প্লেলোড বহনের জন্য বাধা এড়ানো রোবট: 6 টি ধাপ
ভারী প্লেলোড বহনের জন্য বাধা এড়ানো রোবট: এটি একটি বাধা এড়ানোর রোবট যা আমার ছেলের রকার বহন করার জন্য তৈরি করা হয়েছে
অতিস্বনক সেন্সর ব্যবহার করে রোবট এড়ানো বাধা: 9 টি ধাপ (ছবি সহ)
অতিস্বনক সেন্সর ব্যবহার করে রোবট এড়ানো বাধা: অতিস্বনক সেন্সর (HC SR 04) এবং Arduino Uno বোর্ড ব্যবহার করে রোবট এড়ানোর বিষয়ে এটি একটি সহজ প্রকল্প। টিউটোরিয়াল প্রজেক্ট, শেয়ার করুন
Arduino বাধা এড়ানো রোবট (আপগ্রেড সংস্করণ): 7 ধাপ (ছবি সহ)
Arduino বাধা এড়ানো রোবট (সংস্করণ আপগ্রেড করুন): এই পোস্টটি প্রথমে এই ওয়েবসাইটে প্রকাশিত হয়েছে https://truescience22.blogspot.com/2018/01/arduino-obstacle-avoiding-robotupgrade.html হ্যালো বন্ধুরা, আজ আমি Arduino এর একটি আপগ্রেড সংস্করণ তৈরি করেছি রোবট এড়ানো বাধা এই সহজ কিন্তু কিছু বৈশিষ্ট্য এবং আপনি
EBot8: 4 ধাপ (ছবি সহ) ব্যবহার করে রোবট এড়ানো বাধা
EBot8 ব্যবহার করে রোবট এড়ানো বাধা: এই টিউটোরিয়ালে, আপনি শিখবেন কিভাবে একটি রোবট গাড়ি তৈরি করতে হয় যা তার পথে বাধা এড়াবে। শর্তাবলী অনুসারে ধারণাটি বিভিন্ন উপায়ে ব্যবহার এবং প্রয়োগ করা যেতে পারে।
ব্যক্তিত্বের সাথে রোবট এড়ানো বাধা!: 7 টি ধাপ (ছবি সহ)
একটি ব্যক্তিত্বের সাথে রোবট এড়ানো! একটি বেসিক স্ট্যাম্প মাইক্রোকন্ট্রোলার (বেসিক এটম, প্যারাল্যাক্স বেসিক স্ট্যাম্পস, কোরিডিয়াম স্ট্যাম্প, ইত্যাদি) সহ, কিছু ধরণের চ্যাসি, কয়েকটি সেন্সর এবং কিছু এস