কীভাবে বাড়িতে রোবট তৈরি করবেন (ছবি সহ)

সুচিপত্র:

কীভাবে বাড়িতে রোবট তৈরি করবেন (ছবি সহ)
কীভাবে বাড়িতে রোবট তৈরি করবেন (ছবি সহ)

ভিডিও: কীভাবে বাড়িতে রোবট তৈরি করবেন (ছবি সহ)

ভিডিও: কীভাবে বাড়িতে রোবট তৈরি করবেন (ছবি সহ)
ভিডিও: স্কেচআপ টিপস এবং ট্রিকস: ইমেজ, টেক্সচার, মিলে যাওয়া ফটো ইম্পোর্ট অপশন 2024, মে
Anonim

আপনি কি আপনার নিজের রোবট তৈরি করতে শিখতে চান? বিভিন্ন ধরণের রোবট রয়েছে যা আপনি নিজেই তৈরি করতে পারেন। বেশিরভাগ মানুষ একটি রোবটকে পয়েন্ট এ থেকে পয়েন্ট বি তে যাওয়ার সহজ কাজগুলো করতে চায়। আপনার নিজের রোবট তৈরি করা নিজেকে ইলেকট্রনিক্স এবং কম্পিউটার প্রোগ্রামিং উভয়ই শেখানোর একটি দুর্দান্ত উপায়।

ধাপ

6 এর 1 ম অংশ: রোবট একত্রিত করা

1123333 1
1123333 1

পদক্ষেপ 1. আপনার উপাদান সংগ্রহ করুন।

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

  • Arduino Uno (বা অন্যান্য মাইক্রোকন্ট্রোলার)
  • 2 ক্রমাগত ঘূর্ণন servos
  • 2 টি চাকা যা সার্ভোসের সাথে মানানসই
  • 1 কাস্টার রোলার
  • 1 টি ছোট সোল্ডারলেস ব্রেডবোর্ড (একটি ব্রেডবোর্ডের সন্ধান করুন যার প্রতিটি পাশে দুটি ইতিবাচক এবং নেতিবাচক লাইন রয়েছে)
  • 1 দূরত্ব সেন্সর (চার-পিন সংযোগকারী তারের সাথে)
  • 1 মিনি পুশ-বোতাম সুইচ
  • 1 10kΩ প্রতিরোধক
  • 1 ইউএসবি এ থেকে বি ক্যাবল
  • বিচ্ছিন্ন হেডারের 1 সেট
  • 9V ডিসি পাওয়ার জ্যাক সহ 1 6 x AA ব্যাটারি ধারক
  • জাম্পার তারের 1 প্যাক বা 22-গেজ হুক-আপ তারের
  • শক্তিশালী ডবল পার্শ্বযুক্ত টেপ বা গরম আঠালো
1123333 2
1123333 2

ধাপ ২। ব্যাটারি প্যাকটি উল্টে দিন যাতে সমতল পিঠটি মুখোমুখি হয়।

আপনি একটি বেস হিসাবে ব্যাটারি প্যাক ব্যবহার করে রোবটের শরীর তৈরি করবেন।

1123333 3
1123333 3

ধাপ the। ব্যাটারি প্যাকের শেষে দুটি সার্ভার সারিবদ্ধ করুন।

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

1123333 4
1123333 4

ধাপ 4. আপনার টেপ বা আঠালো সঙ্গে servos আবদ্ধ।

নিশ্চিত করুন যে তারা শক্তভাবে ব্যাটারি প্যাকের সাথে সংযুক্ত। সার্ভিসের পিছনগুলি ব্যাটারি প্যাকের পিছনের সাথে ফ্লাশ সারিবদ্ধ করা উচিত।

সার্ভিসগুলি এখন ব্যাটারি প্যাকের অর্ধেক অংশ নিতে হবে।

1123333 5
1123333 5

ধাপ ৫। ব্যাটারি প্যাকের খোলা জায়গায় লম্বভাবে রুটিবোর্ড লাগান।

এটি ব্যাটারি প্যাকের সামনের দিকে কিছুটা ঝুলানো উচিত এবং প্রতিটি দিকের বাইরে প্রসারিত হবে। এগিয়ে যাওয়ার আগে নিশ্চিত করুন যে এটি নিরাপদে বেঁধে রাখা হয়েছে। "A" সারি servos এর সবচেয়ে কাছাকাছি হওয়া উচিত।

1123333 6
1123333 6

পদক্ষেপ 6. সার্ভিসের শীর্ষে Arduino মাইক্রোকন্ট্রোলার সংযুক্ত করুন।

আপনি যদি সঠিকভাবে সার্ভিস সংযুক্ত করেন, তাহলে তাদের স্পর্শ করে তৈরি একটি সমতল জায়গা থাকা উচিত। এই সমতল স্থানে Arduino বোর্ডটি আটকে দিন যাতে Arduino এর USB এবং পাওয়ার সংযোগকারীগুলি মুখোমুখি হয় (রুটিবোর্ড থেকে দূরে)। Arduino এর সামনের অংশটি সবেমাত্র রুটিবোর্ডকে ওভারল্যাপ করা উচিত।

1123333 7
1123333 7

ধাপ 7. servos উপর চাকা রাখুন।

Servo এর ঘূর্ণন প্রক্রিয়া উপর দৃly়ভাবে চাকা টিপুন। এর জন্য একটি উল্লেখযোগ্য পরিমাণ শক্তি প্রয়োজন হতে পারে, কারণ চাকারগুলি সর্বোত্তম ট্র্যাকশনের জন্য যথাসম্ভব শক্তভাবে ফিট করার জন্য ডিজাইন করা হয়েছে।

1123333 8
1123333 8

ধাপ 8. ব্রেডবোর্ডের নীচে কাস্টার সংযুক্ত করুন।

যদি আপনি চ্যাসি উল্টে দেন, তাহলে আপনাকে ব্যাটারি প্যাকের আগে কিছুটা রুটিবোর্ড দেখতে হবে। প্রয়োজনে রাইজার ব্যবহার করে এই বর্ধিত টুকরায় কাস্টার সংযুক্ত করুন। কাস্টার সামনের চাকা হিসেবে কাজ করে, যার ফলে রোবট সহজেই যে কোন দিকে ঘুরতে পারে।

আপনি যদি একটি কিট কিনে থাকেন, তাহলে কাস্টার কিছু রাইজার নিয়ে আসতে পারে যা আপনি ব্যবহার করতে পারেন যাতে কাস্টার মাটিতে পৌঁছায়। আমি

6 এর 2 অংশ: রোবট তারের

1123333 9
1123333 9

ধাপ 1. দুটি 3-পিন হেডার বন্ধ করুন।

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

1123333 10
1123333 10

ধাপ 2. ব্রেডবোর্ডের সারিতে E- এ দুটি হেডার পিন 1-3 এবং 6-8 Insোকান।

নিশ্চিত করুন যে তারা দৃly়ভাবে ertedোকানো হয়েছে।

1123333 11
1123333 11

পদক্ষেপ 3. বাম পাশে কালো তারের (পিন 1 এবং 6) সহ, হেডারের সাথে সার্ভো তারগুলি সংযুক্ত করুন।

এটি সার্ভোসগুলিকে রুটিবোর্ডের সাথে সংযুক্ত করবে। নিশ্চিত করুন যে বাম সার্ভোটি বাম হেডারের সাথে এবং ডান সার্ভারটি ডান হেডারের সাথে সংযুক্ত।

1123333 12
1123333 12

ধাপ 4. পিন C2 এবং C7 থেকে লাল (পজিটিভ) রেল পিনের সাথে লাল জাম্পার তারের সংযোগ করুন।

নিশ্চিত করুন যে আপনি ব্রেডবোর্ডের পিছনে লাল রেল ব্যবহার করেছেন (বাকি চ্যাসির কাছাকাছি)।

1123333 13
1123333 13

ধাপ 5. কালো জাম্পার তারগুলি পিন B1 এবং B6 থেকে নীল (স্থল) রেল পিনগুলিতে সংযুক্ত করুন।

নিশ্চিত করুন যে আপনি রুটিবোর্ডের পিছনে নীল রেল ব্যবহার করেছেন। তাদের লাল রেল পিনগুলিতে প্লাগ করবেন না।

1123333 14
1123333 14

ধাপ 6. আরডুইনোতে 12 এবং 13 পিন থেকে সাদা জাম্পার তারগুলি A3 এবং A8 এ সংযুক্ত করুন।

এটি আরডুইনোকে সার্ভোস নিয়ন্ত্রণ করতে এবং চাকা ঘুরানোর অনুমতি দেবে।

1123333 15
1123333 15

ধাপ 7. ব্রেডবোর্ডের সামনে সেন্সর সংযুক্ত করুন।

এটি রুটিবোর্ডে বাইরের পাওয়ার রেলগুলিতে প্লাগ করা হয় না, বরং তার পরিবর্তে চিঠিযুক্ত পিনের প্রথম সারিতে (জে)। নিশ্চিত করুন যে আপনি এটি সঠিক কেন্দ্রে রেখেছেন, প্রতিটি পাশে সমান সংখ্যক পিন উপলব্ধ রয়েছে।

1123333 16
1123333 16

ধাপ 8. সেন্সরের বাম দিকে প্রথম উপলব্ধ নীল রেল পিন থেকে I14 পিন থেকে একটি কালো জাম্পার তার সংযুক্ত করুন।

এটি সেন্সরকে গ্রাউন্ড করবে।

1123333 17
1123333 17

ধাপ 9. সেন্সরের ডানদিকে প্রথম উপলব্ধ লাল রেল পিন থেকে পিন I17 থেকে একটি লাল জাম্পার তার সংযুক্ত করুন।

এটি সেন্সরকে শক্তি দেবে।

1123333 18
1123333 18

ধাপ 10. আরডুইনোতে I15 থেকে পিন 9 এবং I16 থেকে 8 পিনে সাদা জাম্পার তারগুলি সংযুক্ত করুন।

এটি সেন্সর থেকে মাইক্রোকন্ট্রোলারের তথ্য সরবরাহ করবে।

Of ভাগের:: বিদ্যুৎ সংযোগ

1123333 19
1123333 19

ধাপ 1. রোবটটিকে তার পাশে উল্টে দিন যাতে আপনি প্যাকের ব্যাটারি দেখতে পারেন।

এটিকে ওরিয়েন্ট করুন যাতে ব্যাটারি প্যাক কেবলটি নীচে বাম দিকে বেরিয়ে আসে।

1123333 20
1123333 20

পদক্ষেপ 2. নীচে বাম থেকে দ্বিতীয় বসন্তে একটি লাল তারের সংযোগ করুন।

নিশ্চিত করুন যে ব্যাটারি প্যাকটি সঠিকভাবে ভিত্তিক।

1123333 21
1123333 21

ধাপ 3. নিচের ডানদিকের শেষ বসন্তের সাথে একটি কালো তারের সংযোগ করুন।

এই দুটি তারের Arduino সঠিক ভোল্টেজ প্রদান করতে সাহায্য করবে।

1123333 22
1123333 22

ধাপ 4. ব্রেডবোর্ডের পিছনে ডানদিকে লাল এবং নীল পিনের সাথে লাল এবং কালো তারের সংযোগ করুন।

কালো তারটি পিন 30 এ নীল রেল পিনে প্লাগ করা উচিত। লাল তারটি পিন 30 এ লাল রেল পিনে লাগানো উচিত।

1123333 23
1123333 23

ধাপ 5. আরডুইনোতে GND পিন থেকে পিছনের নীল রেল পর্যন্ত একটি কালো তার সংযুক্ত করুন।

নীল রেলের 28 পিনে এটি সংযুক্ত করুন।

1123333 24
1123333 24

ধাপ 6. পিছনের নীল রেল থেকে সামনের নীল রেল পর্যন্ত একটি কালো তারের সংযোগ করুন প্রতিটিটির জন্য পিন 29 এ।

লাল রেলগুলি সংযুক্ত করবেন না, কারণ আপনি সম্ভবত আরডুইনোকে ক্ষতিগ্রস্ত করবেন।

1123333 25
1123333 25

ধাপ 7. সামনের লাল রেল থেকে পিন 30 এ একটি লাল তারের সংযোগ করুন আরডুইনোতে 5V পিনে।

এটি আরডুইনোকে শক্তি সরবরাহ করবে।

1123333 26
1123333 26

ধাপ 8. 24-26 পিনের সারিগুলির মধ্যে ফাঁকে পুশ বোতাম সুইচ োকান।

এই সুইচটি আপনাকে পাওয়ার আনপ্লাগ না করে রোবটটি বন্ধ করতে দেবে।

1123333 27
1123333 27

ধাপ 9. সেন্সরের ডানদিকে পরবর্তী উপলব্ধ পিনে H24 থেকে লাল রেলে একটি লাল তার সংযুক্ত করুন।

এটি বোতামটিকে শক্তি দেবে।

1123333 28
1123333 28

ধাপ 10. নীল রেলের সাথে H26 সংযোগ করতে প্রতিরোধক ব্যবহার করুন।

আপনি কয়েক ধাপ আগে যে কালো তারের সাথে সংযুক্ত ছিলেন তার সাথে সরাসরি পিনের সাথে সংযুক্ত করুন।

1123333 29
1123333 29

ধাপ 11. G26 থেকে Arduino এ 2 পিন করার জন্য একটি সাদা তার সংযুক্ত করুন।

এটি আরডুইনোকে পুশ বোতামটি নিবন্ধন করতে দেবে।

Arduino সফটওয়্যার ইনস্টল করা

1123333 30
1123333 30

ধাপ 1. ডাউনলোড করুন এবং Arduino IDE বের করুন।

এটি আরডুইনো ডেভেলপমেন্ট এনভায়রনমেন্ট এবং আপনাকে প্রোগ্রাম নির্দেশাবলীর অনুমতি দেয় যা আপনি আপনার আরডুইনো মাইক্রোকন্ট্রোলারে আপলোড করতে পারেন। আপনি এটি arduino.cc/en/main/software থেকে বিনামূল্যে ডাউনলোড করতে পারেন। ডাউনলোড করা ফাইলটি ডাবল ক্লিক করে আনজিপ করুন এবং ফোল্ডারটিকে সহজেই অ্যাক্সেস করার জায়গায় নিয়ে যান। আপনি আসলে প্রোগ্রামটি ইনস্টল করবেন না। পরিবর্তে, আপনি শুধু arduino.exe- এ ডাবল ক্লিক করে নিষ্কাশিত ফোল্ডার থেকে এটি চালাবেন।

1123333 31
1123333 31

ধাপ 2. Arduino এর সাথে ব্যাটারি প্যাকটি সংযুক্ত করুন।

ব্যাটারি ব্যাক জ্যাকটিকে পাওয়ার দেওয়ার জন্য আরডুইনোতে সংযোগকারীতে প্লাগ করুন।

1123333 32
1123333 32

পদক্ষেপ 3. USB এর মাধ্যমে আপনার কম্পিউটারে Arduino প্লাগ করুন।

উইন্ডোজ সম্ভবত ডিভাইসটিকে চিনতে পারবে না।

1123333 33
1123333 33

ধাপ 4. টিপুন।

⊞ জয়+আর এবং টাইপ করুন devmgmt.msc।

এটি ডিভাইস ম্যানেজার চালু করবে।

1123333 34
1123333 34

ধাপ 5. "অন্যান্য ডিভাইস" বিভাগে "অজানা ডিভাইস" এ ডান ক্লিক করুন এবং "ড্রাইভার সফটওয়্যার আপডেট করুন" নির্বাচন করুন।

" যদি আপনি এই বিকল্পটি দেখতে না পান তবে "বৈশিষ্ট্য" এ ক্লিক করুন, "ড্রাইভার" ট্যাবটি নির্বাচন করুন এবং তারপরে "ড্রাইভার আপডেট করুন" এ ক্লিক করুন।

1123333 35
1123333 35

ধাপ 6. নির্বাচন করুন "ড্রাইভার সফটওয়্যারের জন্য আমার কম্পিউটার ব্রাউজ করুন।

" এটি আপনাকে Arduino IDE এর সাথে আসা ড্রাইভার নির্বাচন করার অনুমতি দেবে।

1123333 36
1123333 36

ধাপ 7. "ব্রাউজ" এ ক্লিক করুন তারপর আপনি যে ফোল্ডারটি আগে এক্সট্র্যাক্ট করেছেন তাতে নেভিগেট করুন।

আপনি ভিতরে একটি "ড্রাইভার" ফোল্ডার পাবেন।

1123333 37
1123333 37

ধাপ 8. "ড্রাইভার" ফোল্ডারটি নির্বাচন করুন এবং "ঠিক আছে" ক্লিক করুন।

" নিশ্চিত করুন যে আপনি যদি অজানা সফ্টওয়্যার সম্পর্কে সতর্ক হন তবে আপনি এগিয়ে যেতে চান।

6 এর 5 ম অংশ: রোবট প্রোগ্রামিং

1123333 38
1123333 38

ধাপ 1. IDE ফোল্ডারে arduino.exe ফাইলে ডাবল ক্লিক করে Arduino IDE শুরু করুন।

আপনি একটি ফাঁকা প্রকল্পের সাথে স্বাগত জানাবেন।

1123333 39
1123333 39

ধাপ 2. আপনার রোবটকে সোজা করতে নিম্নলিখিত কোডটি আটকান।

নিচের কোডটি আপনার Arduino কে ক্রমাগত এগিয়ে নিয়ে যাবে।

#অন্তর্ভুক্ত // এটি প্রোগ্রামে "Servo" লাইব্রেরি যোগ করে // নিম্নলিখিত দুটি servo অবজেক্ট তৈরি করে Servo leftMotor; Servo rightMotor; অকার্যকর সেটআপ () {leftMotor.attach (12); // যদি আপনি দুর্ঘটনাক্রমে আপনার সার্ভিসের জন্য পিন নম্বরগুলি স্যুইচ করেন, তাহলে আপনি এখানে নম্বরগুলি সোয়াপ করতে পারেন rightMotor.attach (13); } অকার্যকর লুপ () {leftMotor.write (180); // ক্রমাগত ঘূর্ণনের সাথে, 180 সার্ভোকে পূর্ণ গতিতে "এগিয়ে" যেতে বলে। ডান মোটর লিখুন (0); // যদি এই দুটি 180 এ থাকে, তাহলে রোবটটি একটি বৃত্তে যাবে কারণ সার্ভোসগুলি উল্টে যায়। "0," এটিকে পূর্ণ গতিতে "পিছনে" নিয়ে যেতে বলে। }

1123333 40
1123333 40

পদক্ষেপ 3. প্রোগ্রামটি তৈরি করুন এবং আপলোড করুন।

সংযুক্ত আরডুইনোতে প্রোগ্রামটি তৈরি এবং আপলোড করতে উপরের বাম কোণে ডান তীর বোতামটি ক্লিক করুন।

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

1123333 41
1123333 41

ধাপ 4. কিল সুইচ কার্যকারিতা যোগ করুন।

"Write ()" ফাংশনের উপরে কিল সুইচ সক্ষম করতে আপনার কোডের "void loop ()" বিভাগে নিম্নলিখিত কোডটি যোগ করুন।

যদি (ডিজিটাল রিড (2) == উচ্চ) // এটি নিবন্ধিত হয় যখন বাটনটি Arduino এর পিন 2 চাপলে {যখন (1) {leftMotor.write (90); // "90" সার্ভিসগুলির জন্য নিরপেক্ষ অবস্থান, যা তাদের ডানদিকে ঘুরিয়ে থামাতে বলে। }}

1123333 42
1123333 42

ধাপ 5. আপলোড করুন এবং আপনার কোড পরীক্ষা করুন।

কিল সুইচ কোড যোগ করার সাথে, আপনি আপলোড এবং রোবট পরীক্ষা করতে পারেন। যতক্ষণ না আপনি সুইচটি টিপবেন ততক্ষণ এটি এগিয়ে চলতে থাকবে, সেই সময়ে এটি চলাচল বন্ধ করে দেবে। সম্পূর্ণ কোড এই মত হওয়া উচিত:

#অন্তর্ভুক্ত // নিম্নলিখিত দুটি servo অবজেক্ট তৈরি করে Servo leftMotor; Servo rightMotor; অকার্যকর সেটআপ () {leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) {while (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

6 এর 6 নম্বর অংশ: উদাহরণ

ধাপ 1. একটি উদাহরণ অনুসরণ করুন।

নিচের কোডটি রোবটের সাথে সংযুক্ত সেন্সর ব্যবহার করবে যখনই এটি কোন বাধার সম্মুখীন হবে তখন এটি বাম দিকে ঘুরবে। প্রতিটি অংশ কী করে সে সম্পর্কে বিস্তারিত জানার জন্য কোডের মন্তব্যগুলি দেখুন। নীচের কোডটি পুরো প্রোগ্রাম।

#Servo leftMotor অন্তর্ভুক্ত করুন; Servo rightMotor; const int serialPeriod = 250; // এটি প্রতি 1/4 সেকেন্ড স্বাক্ষরবিহীন দীর্ঘ সময় একবার কনসোলের আউটপুট সীমাবদ্ধ করে const int loopPeriod = 20; // এটি সেট করে যে কতবার সেন্সর 20ms পর্যন্ত একটি রিডিং নেয়, যা 50Hz স্বাক্ষরবিহীন দীর্ঘ সময়ের ফ্রিকোয়েন্সি লুপড্লে = 0; // এটি Arduino এর পিনগুলিতে TRIG এবং ECHO ফাংশন নির্ধারণ করে। এখানে সংখ্যার সমন্বয় করুন যদি আপনি আলাদাভাবে সংযোগ করেন int int ultrasonic2TrigPin = 8; const int ultrasonic2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2 মেয়াদ; // এটি রোবটের জন্য দুটি সম্ভাব্য অবস্থা সংজ্ঞায়িত করে: সামনে ড্রাইভিং বা বাম দিকে মোড় #ডিফাইন DRIVE_FORWARD 0 #ডিফাইন TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = ড্রাইভ ফরওয়ার্ড (ডিফল্ট), 1 = বাম অকার্যকর সেটআপ চালু করুন () {Serial.begin (9600); // এই সেন্সর পিন কনফিগারেশন pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasonic2EchoPin, INPUT); // এটি Arduino পিন বামমোটর.আটচ (12) এ মোটরগুলিকে বরাদ্দ করে; rightMotor.attach (13); } অকার্যকর লুপ () {যদি (ডিজিটাল রিড (2) == উচ্চ) // এটি কিল সুইচ সনাক্ত করে {যখন (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // এটি সিরিয়াল কনসোলে ডিবাগিং বার্তা প্রিন্ট করে যদি (মিলিস () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // এটি সেন্সরকে পরিমাপ করা দূরত্ব স্টেটম্যাচিন () পড়তে এবং সংরক্ষণ করতে নির্দেশ দেয়; timeLoopDelay = মিলিস (); }} void stateMachine () {if (state == DRIVE_FORWARD) // যদি কোন বাধা ধরা না পড়ে {if (ultrasonic2Distance> 6 || ultrasonic2Distance <0) // যদি রোবটের সামনে কিছু না থাকে। যদি কোন বাধা না থাকে তবে কিছু আল্ট্রাসোনিকের জন্য দূরত্ব নেতিবাচক হবে {// ড্রাইভ ফরওয়ার্ড rightMotor.write (180); leftMotor.write (0); } অন্য // যদি আমাদের সামনে কোন বস্তু থাকে {state = TURN_LEFT; }} অন্যথায় যদি (state == TURN_LEFT) // যদি কোনো বাধা ধরা পড়ে, তাহলে বাম দিকে যান {স্বাক্ষর না করা long timeToTurnLeft = 500; // এটি 90 ডিগ্রী ঘুরতে প্রায় 5 সেকেন্ড সময় নেয়। যদি আপনার চাকার উদাহরণ স্বাক্ষরবিহীন লম্বা turnStartTime = millis (); // আমরা যে সময়টি শুরু করেছি সে সময়টি সংরক্ষণ করুন । rightMotor.write (180); leftMotor.write (180); } রাষ্ট্র = DRIVE_FORWARD; }} অকার্যকর readUltrasonicSensors () {// এটি অতিস্বনক 2. এর জন্য। যদি আপনি অন্য কোনো সেন্সর ব্যবহার করেন তাহলে আপনাকে এই কমান্ডগুলি পরিবর্তন করতে হতে পারে। digitalWrite (ultrasonic2TrigPin, HIGH); বিলম্ব মাইক্রোসেকেন্ড (10); // কমপক্ষে 10 মাইক্রোসেকেন্ড ডিজিটালওয়াইটের জন্য ট্রিগ পিন উঁচু রাখে (অতিস্বনক 2 ট্রিগপিন, নিম্ন); ultrasonic2Duration = pulseIn (ultrasonic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duration/2)/29; } // কনসোলে ত্রুটিগুলি ডিবাগ করার জন্য নিম্নলিখিত। void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); সিরিয়াল.প্রিন্ট ("সেমি"); Serial.println (); timeSerialDelay = মিলিস (); }}

প্রস্তাবিত: