সুচিপত্র:

কিভাবে বাড়িতে একটি রোবট এড়ানো একটি DIY Arduino বাধা তৈরি করতে: 4 ধাপ
কিভাবে বাড়িতে একটি রোবট এড়ানো একটি DIY Arduino বাধা তৈরি করতে: 4 ধাপ

ভিডিও: কিভাবে বাড়িতে একটি রোবট এড়ানো একটি DIY Arduino বাধা তৈরি করতে: 4 ধাপ

ভিডিও: কিভাবে বাড়িতে একটি রোবট এড়ানো একটি DIY Arduino বাধা তৈরি করতে: 4 ধাপ
ভিডিও: How to make a Obstacle avoiding robot at home || Smart robot in bangla 2024, জুলাই
Anonim
Image
Image

হ্যালো বন্ধুরা, এই নির্দেশনায়, আপনি রোবটকে এড়াতে একটি বাধা তৈরি করবেন। এই নির্দেশযোগ্য একটি অতিস্বনক সেন্সর দিয়ে একটি রোবট তৈরি করা জড়িত যা কাছাকাছি বস্তুগুলি সনাক্ত করতে পারে এবং এই বস্তুগুলি এড়াতে তাদের দিক পরিবর্তন করতে পারে। অতিস্বনক সেন্সর একটি সার্ভো মোটরের সাথে সংযুক্ত থাকবে যা ক্রমাগত বাম এবং ডানদিকে স্ক্যান করে যা তার পথে বস্তু খুঁজছে।

সুতরাং, আর ঝামেলা ছাড়াই, শুরু করা যাক!

ধাপ 1: এই প্রকল্পে আপনার যা প্রয়োজন:

এই প্রকল্পে আপনার যা প্রয়োজন
এই প্রকল্পে আপনার যা প্রয়োজন
এই প্রকল্পে আপনার যা প্রয়োজন
এই প্রকল্পে আপনার যা প্রয়োজন

এখানে অংশগুলির তালিকা:

1) আরডুইনো ইউনো

2) মোটর ড্রাইভার শিল্ড

3) গিয়ার মোটর, ফ্রেম এবং চাকার সেট

4) Servo মোটর

5) অতিস্বনক সেন্সর

6) লি-আয়ন ব্যাটারি (2x)

7) ব্যাটারি ধারক

8) পুরুষ এবং মহিলা জাম্পার তার

9) সোল্ডারিং আয়রন

10) চার্জার

ধাপ 2: সার্কিট ডায়াগ্রাম

বর্তনী চিত্র
বর্তনী চিত্র

কাজ:

প্রকল্পে কাজ করার আগে, অতিস্বনক সেন্সর কীভাবে কাজ করে তা বোঝা গুরুত্বপূর্ণ। অতিস্বনক সেন্সর কাজ করার পিছনে মূল নীতি নিম্নরূপ:

একটি বাহ্যিক ট্রিগার সিগন্যাল ব্যবহার করে, অতিস্বনক সেন্সরের ট্রিগ পিন কমপক্ষে 10µs এর জন্য যুক্তি উচ্চ করা হয়। ট্রান্সমিটার মডিউল থেকে একটি সোনিক বিস্ফোরণ পাঠানো হয়। এই 40KHz 8 ডাল গঠিত।

একটি পৃষ্ঠে আঘাত করার পরে সংকেতগুলি ফিরে আসে এবং রিসিভার এই সংকেতটি সনাক্ত করে। ইকো পিন সিগন্যাল পাঠানোর এবং গ্রহণ করার সময় থেকে বেশি। এই সময়টি যথাযথ গণনা ব্যবহার করে দূরত্বে রূপান্তরিত হতে পারে।

এই প্রজেক্টের লক্ষ্য হচ্ছে অতিস্বনক সেন্সর এবং আরডুইনো ব্যবহার করে রোবট এড়ানো একটি বাধা বাস্তবায়ন করা। সমস্ত সংযোগ সার্কিট ডায়াগ্রাম অনুযায়ী তৈরি করা হয়। প্রকল্পের কাজ নীচে ব্যাখ্যা করা হয়েছে।

যখন রোবটটি চালিত হয়, তখন রোবটের উভয় মোটর স্বাভাবিকভাবে চলবে এবং রোবটটি সামনের দিকে এগিয়ে যাবে। এই সময়, অতিস্বনক সেন্সর ক্রমাগত রোবট এবং প্রতিফলিত পৃষ্ঠের মধ্যে দূরত্ব গণনা করে।

এই তথ্য Arduino দ্বারা প্রক্রিয়া করা হয়। যদি রোবট এবং বাধার মধ্যে দূরত্ব 15cm এর কম হয়, তাহলে রোবট থেমে যায় এবং সার্ভো মোটর এবং অতিস্বনক সেন্সর ব্যবহার করে নতুন দূরত্বের জন্য বাম এবং ডান দিকে স্ক্যান করে। যদি বাম দিকের দূরত্ব ডান দিকের চেয়ে বেশি হয়, তাহলে রোবট বাম মোড়ের জন্য প্রস্তুত করবে। কিন্তু প্রথমে, এটি একটি সামান্য বিট ব্যাক আপ এবং তারপর দিক বাম চাকা মোটর সক্রিয়।

একইভাবে, ডান দূরত্ব বাম দূরত্বের চেয়ে বেশি হলে, রোবট ডান ঘূর্ণন প্রস্তুত করে। এই প্রক্রিয়াটি চিরকাল চলতে থাকে এবং রোবটটি কোন বাধা ছাড়াই চলতে থাকে।

ধাপ 3: আরডুইনো ইউএনও প্রোগ্রামিং

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

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

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

# TRIG_PIN A1 সংজ্ঞায়িত করুন

# ECHO_PIN A0 সংজ্ঞায়িত করুন

# MAX_DISTANCE 200 সংজ্ঞায়িত করুন

# MAX_SPEED 255 সংজ্ঞায়িত করুন // ডিসি মোটরের গতি নির্ধারণ করে

# MAX_SPEED_OFFSET 20 সংজ্ঞায়িত করুন

নিউপিং সোনার (TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor মোটর 3 (3, MOTOR34_1KHZ);

AF_DCMotor মোটর 4 (4, MOTOR34_1KHZ); Servo myservo;

বুলিয়ান চলে যায় = মিথ্যা;

int দূরত্ব = 100; int speedSet = 0;

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

myservo.attach (10);

myservo.write (115); বিলম্ব (2000); দূরত্ব = readPing (); বিলম্ব (100); দূরত্ব = readPing (); বিলম্ব (100); দূরত্ব = readPing (); বিলম্ব (100); দূরত্ব = readPing (); বিলম্ব (100); }

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

int দূরত্ব R = 0; int দূরত্ব L = 0; বিলম্ব (40);

যদি (দূরত্ব <= 15) {moveStop (); বিলম্ব (100); moveBackward (); বিলম্ব (300); moveStop (); বিলম্ব (200); distanceR = lookRight (); বিলম্ব (200); distanceL = lookLeft (); বিলম্ব (200);

যদি (distanceR> = distanceL) {

ডানে ঘোরা(); moveStop (); } অন্য {turnLeft (); moveStop (); }} অন্য {moveForward (); } দূরত্ব = readPing (); }

int lookRight () {

myservo.write (50); বিলম্ব (500); int দূরত্ব = readPing (); বিলম্ব (100); myservo.write (115); ফেরার দূরত্ব; }

int lookLeft () {

myservo.write (170); বিলম্ব (500); int দূরত্ব = readPing (); বিলম্ব (100); myservo.write (115); ফেরার দূরত্ব; বিলম্ব (100); }

int readPing () {

বিলম্ব (70); int cm = sonar.ping_cm (); যদি (সেমি == 0) {সেমি = 250; } রিটার্ন সেমি; }

অকার্যকর moveStop () {

motor3.run (রিলিজ);

motor4.run (রিলিজ); }

অকার্যকর moveForward () {

যদি (! এগিয়ে যায়) {

এগিয়ে যায় = সত্য;

motor3.run (ফরওয়ার্ড);

motor4.run (ফরওয়ার্ড); জন্য (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // আস্তে আস্তে গতি বাড়িয়ে আনুন যাতে ব্যাটারি খুব দ্রুত লোড না হয় {

motor3.setSpeed (speedSet);

motor4.setSpeed (speedSet); বিলম্ব (5); }}}

অকার্যকর moveBackward () {

এগিয়ে যায় = মিথ্যা;

motor3.run (ব্যাকওয়ার্ড);

motor4.run (ব্যাকওয়ার্ড); জন্য (speedSet = 0; speedSet <MAX_SPEED; speedSet += 2) // আস্তে আস্তে গতি বাড়িয়ে আনুন যাতে ব্যাটারি খুব দ্রুত লোড না হয় {

motor3.setSpeed (speedSet);

motor4.setSpeed (speedSet); বিলম্ব (5); }}

অকার্যকর টার্নরাইট () {

motor3.run (ফরওয়ার্ড);

motor4.run (ব্যাকওয়ার্ড); বিলম্ব (500);

motor3.run (ফরওয়ার্ড);

motor4.run (ফরওয়ার্ড); }

অকার্যকর turnLeft () {

motor3.run (ব্যাকওয়ার্ড);

motor4.run (ফরওয়ার্ড); বিলম্ব (500);

motor3.run (ফরওয়ার্ড);

motor4.run (ফরওয়ার্ড); }

1) আরডুইনো ডেস্কটপ আইডিই ডাউনলোড এবং ইনস্টল করুন

  • জানালা -
  • ম্যাক ওএস এক্স -
  • লিনাক্স -

2) Arduino লাইব্রেরি ফোল্ডারে NewPing লাইব্রেরি (অতিস্বনক সেন্সর ফাংশন লাইব্রেরি) ফাইলটি ডাউনলোড এবং পেস্ট করুন।

  1. নিচে NewPing.rar ডাউনলোড করুন
  2. এটি পাথ থেকে বের করুন - C: / Arduino / লাইব্রেরি

3) একটি USB তারের মাধ্যমে Arduino বোর্ডে কোড আপলোড করুন

ডাউনলোড কোড:

ধাপ 4: দুর্দান্ত

এখন আপনার রোবট কোন বাধা এড়াতে প্রস্তুত …

আপনার যেকোনো প্রশ্নের উত্তর দিলে খুশি হব

ইমেইল: [email protected]

ওয়েবসাইট:

আমার ইউটিউব চ্যানেলটি সাবস্ক্রাইব করুন:

ইনস্টাগ্রাম:

ফেসবুক:

ধন্যবাদ:)

প্রস্তাবিত: