বিজ্ঞান মেলা প্রকল্পের জন্য এই লাইনকে অনুসরণকারী রোবট করুন

সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন





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

লিখেছেন নবনিত সাজওয়ান



লাইন ফলোয়ার রোবট কী is

একটি স্বায়ত্তশাসিত রোবট এমন একটি মেশিন যা রিয়েল-টাইমে কোনও ম্যানুয়ালি মানুষের দ্বারা নিয়ন্ত্রিত না হয়ে প্রোগ্রামারের নির্দেশ অনুসারে একাধিক পদক্ষেপ নিতে পারে।

লাইন অনুসারীরা (এলএফআর) এছাড়াও স্বায়ত্তশাসিত রোবট গাড়ি যা এক বা একাধিক সেন্সর এবং একটি কালো বা সাদা রেখার পথ দ্বারা পরিচালিত। তারা আধুনিক স্ব-ড্রাইভিং গাড়িগুলির ভিত্তি তৈরি করে।



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

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

প্রয়োজনীয় উপাদানগুলি:

আরডুইনো আনো

চ্যাসিস

দুটি ব্যাটারি চালিত (বি.ও।) মোটর এবং সামঞ্জস্যপূর্ণ টায়ার

ক্যাস্টর বল

দুটি ইনফ্রারেড সেন্সর

মোটর ড্রাইভার মডিউল

বিদ্যুৎ সরবরাহ

আরডুইনো আইডিই সফটওয়্যার

এখন, আমাদের উপাদানগুলি একবার দেখে নেওয়া যাক:

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

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

কিছু প্রাসঙ্গিক কারণ ছিল:

সাইজ : এটিমেগা 16 বা আতমেগা 8 ভিত্তিক উন্নয়ন বোর্ডের তুলনায় এটি বেশ ছোট, চ্যাসিসে সামান্য জায়গা খরচ করে, তাই আপনি একটি কমপ্যাক্ট এবং হ্যান্ড বট পান।

এটি সত্যই রোবোটিক প্রতিযোগিতায় গুরুত্বপূর্ণ। আমার উপর ভরসা করুন আপনি সারা দিন ভেন্যু বদলে সেই বড় কুৎসিত বট নিয়ে ঘুরে বেড়াবেন।

আকার ছোট, রোবট দ্রুত এবং আরও দক্ষ টার্নগুলি।

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

তাদের জন্য, কলেজ প্রকল্পগুলির জন্য লাইন ফলোয়ার তৈরি করার জন্য, আমি ইউএনওর পরিবর্তে ন্যানোর সাথে প্রতিস্থাপন করার পরামর্শ দিচ্ছি।

চ্যাসিস : এটি এমন একটি ফ্রেম যা সমস্ত উপাদানকে স্থানে রাখে। একটি নতুন চ্যাসি কেনার সময় কয়েকটি বিষয় বিবেচনা করতে হবে,

এটি হালকা ও শক্ত হওয়া উচিত।

প্রকল্পগুলির জন্য, আপনি যদি বাজার থেকে একটি কিনেন তবে এটি আরও ভাল। তবে আপনি যদি প্রতিযোগিতার জন্য প্রস্তুতি নিচ্ছেন তবে প্রতিযোগিতার মাত্রা এবং প্রয়োজনীয়তাগুলি বিবেচনায় রেখে আমি দৃ suggest়ভাবে আপনাকে নিজের কাস্টমাইজ করার পরামর্শ দিচ্ছি।

একটি প্লাস্টিক বা কাঠের চ্যাসি চয়ন করুন। ধাতব ফ্রেমগুলি আরডুইনোর সংস্পর্শে এলে বেশ কয়েকটি পিন সংক্ষিপ্ত হয়ে যায়। চ্যাসিস সন্ধানের সময় এটি ফোকাস করা বড় কারণ।

আপনার চ্যাসি যতটা সম্ভব কম রাখুন - এটি বটকে স্থিতিশীলতা দেয়।

মোটর : হালকা ওজনের ব্যাটারি চালিত (বি.ও.) ডিসি ব্যবহার করুন। মোটর

কাস্টার বল : সাধারণ চাকাগুলি একক অক্ষের সাথে অনুবাদক গতি সরবরাহ করে তবে একটি ক্যাস্টর বলটি পৃষ্ঠের যে কোনও দিক বরাবর সরাতে ডিজাইন করা হয়েছে। এটি আমাদের তিনটি হুইল ড্রাইভ দেয়।

তুলনামূলকভাবে দ্রুত বাঁকানো ক্রিয়া হ'ল 4 চাকার চেয়ে তিন চাকা ড্রাইভকে প্রাধান্য দেওয়ার কারণ। আপনি হয়ত লক্ষ্য করেছেন চক্রের রিকশাগুলি সরীসৃপের মতো ট্র্যাফিক দিয়ে বিদ্ধ করছে। আমাদের রোবটের ক্ষেত্রেও একই অবস্থা।

সেন্সর : এটি এমন একটি ডিভাইস যা আমাদের পরিবেশের কোনও শারীরিক পরামিতি সনাক্ত করে বা পরিমাপ করে এবং বৈদ্যুতিন সংকেতগুলিতে রূপান্তর করে। এই ক্ষেত্রে চিহ্নিত পরামিতিটি ইনফ্রা-রেড রে।

সেন্সরগুলি যে কোনও রোবটের জন্য অত্যন্ত মৌলিক। ঠিক আছে, যদি আরডুইনো আমাদের বটের মস্তিষ্ক হয় তবে সেন্সরগুলি পাশাপাশি চোখের ভূমিকা পালন করতে পারে। সেন্সর সম্পর্কে কয়েকটি জিনিস এখানে:

সেন্সরগুলি অবশ্যই এমনভাবে পরিচালনা করতে হবে যাতে নেতৃত্ব (গুলি) মাটির দিকে মুখ করে।

আপনার বটের সামনের প্রান্তে রাখা উচিত।

তাদের মধ্যে ন্যূনতম ব্যবধানটি অবশ্যই কালো রেখার প্রস্থের চেয়ে বেশি হওয়া উচিত।

মোটর চালক বোর্ড : মোটর-চালকরা এমন বাফার সার্কিট যা উচ্চ ভোল্টেজের প্রয়োজন এমন মোটরগুলিকে শক্তিশালী করতে কম ভোল্টেজ সংকেত গ্রহণ করে।

আমাদের ক্ষেত্রে, আরডুইনো মোটর চালাতে পর্যাপ্ত ভোল্টেজ সরবরাহ করতে পারে তবে এটি যথেষ্ট স্রোত সরবরাহ করতে পারে না। আরডুইনো ইউএনওর 5 ভি এবং জিএনডি পিনের বর্তমান রেটিং 200mA রয়েছে এবং যে কোনও জিপিআইও পিনের রেটিং 40 এমএ রয়েছে। এটি আমাদের প্রারম্ভিক এবং স্টল স্রোতের মোটরগুলির তুলনায় বেশ কম।

এই প্রকল্পের জন্য আমি দুটি মোটর চালককে পছন্দ করি: L298N এবং L293D। এই প্রকল্পটি তৈরির জন্য উভয়ই সমানভাবে উপযুক্ত।

যদিও, L293D তুলনামূলকভাবে সস্তা তবে বর্তমানের রেটিং কম রয়েছে। তাদের সংযোগগুলি প্রায় একই রকম। যেহেতু, আমি উভয়ের জন্য সংযোগ দিয়েছি, আপনি কীভাবে আপনার বট তৈরি করবেন এটি সম্পূর্ণভাবে আপনার উপর নির্ভর করে।

বিদ্যুৎ সরবরাহ :

একটি 12 ভি অ্যাডাপ্টার বা ব্যাটারি (12 ভোল্টের বেশি নয়) ব্যবহার করুন।

উপাদান স্থাপন (সামনে থেকে পিছনের শেষ পর্যন্ত):

আপনার বটের মাথায় সেন্সর।

মাঝখানে ক্যাস্টর হুইল।

পিছনে এক লাইনে মোটর এবং টায়ার।

সংযোগগুলি:

অর্ডিনোতে সেন্সর :

সেন্সর পিনটি আরডুইনো পিনের সাথে প্রদর্শিত হিসাবে সংযুক্ত করুন,

সেন্সর পিনআরডুইনো পিন
ভিসিসি (5 ভি)5 ভি
জিএনডি (জি)জিএনডি
বাম সেন্সর আউট (কর)পিন 6
সঠিক সেন্সর আউট (কর)পিন 7

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

মোটর চালক থেকে মোটর:

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

ইঞ্জিনL298NL293D
বাম মোটরপিন 1 এবং 2পিন 7 এবং 8
ডান মোটরপিন 13 এবং 14পিন 9 এবং 10

আরডুইনো ইউএনও-তে মোটর চালক:

মোটর চালক (L298N)আরডিনো এক
পিন 4মদ
পিন 5জিএনডি
পিন 65 ভি
পিন 8 এবং পিন 9পিন 3 এবং পিন 9
পিন 10 এবং পিন 11পিন 5 এবং পিন 10
পিন 7 এবং পিন 125 ভি
মোটর চালক (L293D)আরডিনো এক
পিন 3মদ
পিন 2জিএনডি
পিন 15 ভি
পিন 5 এবং পিন 6পিন 3 এবং পিন 9
পিন 11 এবং পিন 12পিন 5 এবং পিন 10
পিন 4 এবং পিন 55 ভি

দ্রষ্টব্য: l298n এর পিন 8 এবং 9 1 এবং 2 এর সাথে সংযুক্ত মোটরটি নিয়ন্ত্রণ করতে ব্যবহৃত হয় এবং এবং 10 এবং 11 পিনের সাথে সংযুক্ত মোটর 13 এবং 14. একইভাবে, l293d এর পিন 5 এবং 6 সংযুক্ত মোটরটি নিয়ন্ত্রণ করতে ব্যবহৃত হয় 7 এবং 8. এবং 12 এবং 11 নিয়ন্ত্রণ মোটর 9 এবং 10 পিনের সাথে সংযুক্ত।

এখানে আমরা ছেলেরা, নকশা অংশের শেষে। আমাদের কাছে এখনও কোডিং রয়েছে তবে এর আগে আমরা নীতিগুলি অনুসরণ করব যা লাইন-অনুসরণ করতে দেয়।

ইনফ্রা রেড সেন্সর কীভাবে কাজ করে:

ইনফ্রা রেড সেন্সর (আইআর সেন্সর) এর রঙ এবং এর সাথে বস্তুর সান্নিধ্যের বিপরীতে অনুভূত করতে ব্যবহার করা যেতে পারে। আইআর সেন্সরের কাজের পিছনে থাকা নীতিটি বেশ মৌলিক।

যেমন আমরা দেখতে পাচ্ছি, এর দুটি সীসা রয়েছে - আইআর নিঃসৃত নেতৃত্বে এবং একটি ফটোডোড। তারা ট্রান্সমিটার-রিসিভার জুটির কাজ করে। ইমিটার রশ্মির সামনে যখন কোনও বাধা আসে তখন সেগুলি রিসিভার দ্বারা প্রতিবিম্বিত হয় এবং বাধা পায়।

এটি একটি ডিজিটাল সিগন্যাল উত্পন্ন করে যা মাইক্রোকন্ট্রোলার এবং অ্যাকিউইটরেটরদের বাধা মোকাবেলায় প্রয়োজনীয় ব্যবস্থা গ্রহণের জন্য খাওয়ানো যেতে পারে।

বেসিক পদার্থবিজ্ঞান আমাদের বলে যে একটি সাদা দেহ তার উপর সমস্ত তড়িৎ চৌম্বকীয় বিকিরণের ঘটনাকে শোষিত করে যখন একটি সাদা শরীর এটি প্রতিবিম্বিত করে। এই নীতিটি কোনও লাইন অনুসারী দ্বারা সাদা এবং কালো পৃষ্ঠের মধ্যে পার্থক্য দেখানোর জন্য ব্যবহার করা হয়।

একটি লাইন অনুসরণকারী রোবট কীভাবে কাজ করে:

লাইন ফলোয়ার লেআউট

স্বাভাবিক অবস্থায়, রোবটটি এমনভাবে সরানো হয় যে উভয় সেন্সরই সাদা হয়ে গেছে এবং উভয় সেন্সরের মাঝে কালো রেখা রয়েছে।

এটি উভয় মোটরকে ঘোরানোর জন্য প্রোগ্রাম করা হয় যাতে বটটি সামনে অগ্রসর হয়।

বেশ স্বাভাবিকভাবেই, সময় অতিবাহিত হওয়ার সাথে সাথে দুটি সেন্সরের একটি ব্ল্যাক লাইনের উপরে চলে আসে।

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

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

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

ওয়্যারিংয়ের বিবরণ:

প্রোগ্রামিং এবং ফলাফল:

সার্কিট অংশটি সম্পন্ন করার পরে, আমরা এখন প্রোগ্রামিং অংশে এগিয়ে যাব। এই বিভাগে, আমরা সেই প্রোগ্রামটি বুঝতে পারি যা আমাদের রোবটকে নিয়ন্ত্রণ করে। কোডটি এখানে:
Created and tested by Navneet Singh Sajwan
*Based on digital output of two sensors
*Speed control added
*/
int left, right
int value=250
void setup()
{
pinMode(6,INPUT)//left sensor
pinMode(7,INPUT)//right sensor
pinMode(9,OUTPUT)//left motor
pinMode(3,OUTPUT)//left motor
pinMode(10,OUTPUT)//right motor
pinMode(5,OUTPUT)//right motor
// Serial.begin(9600)
}
void read_sensors()
{
left=digitalRead(6)
right= digitalRead(7)
}
void move_forward()
{
analogWrite(9,value)//3,9 for left motor
digitalWrite(3,LOW)
analogWrite(10,value)//10,5 for right motor
digitalWrite(5,LOW)
}
void turn_left()
{
digitalWrite(9,LOW)//9,3 for left motor
digitalWrite(3,LOW)
analogWrite(10,value)//10,5 for right motor
digitalWrite(5,LOW)
}
void turn_right()
{
analogWrite(9,value)// 9,3 for left motor
digitalWrite(3,LOW)
digitalWrite(10,LOW)// 10,5 for right motor
digitalWrite(5,LOW)
}
void halt()
{
digitalWrite(9,LOW)// 9,3 for left motor
digitalWrite(3,LOW)
digitalWrite(10,LOW)// 10,5 for right motor
digitalWrite(5,LOW)
}
void print_readings()
{
Serial.print(' leftsensor')
Serial.print(' ')
Serial.print(left)
Serial.print('rightsensor')
Serial.print(' ')
Serial.print(right)
Serial.println()
}
void loop()
{
read_sensors()
while((left==0)&&(right==1)) // left sensor is over black line
{
turn_left()
read_sensors()
print_readings()
}
while((left==1)&&(right==0)) // right sensor is over black line
{
turn_right()
read_sensors()
print_readings()
}
while((left==0)&&(right==0)) // both sensors over the back line
{
halt()
read_sensors()
print_readings()
}
while((left==1)&&(right==1))// no sensor over black line
{
move_forward()
read_sensors()
print_readings()
}
}

ব্যবহৃত ফাংশনগুলির বিবরণ:

read_sensors (): এটি উভয় সেন্সরের পঠন নেয় এবং এগুলি বাম এবং ডান ভেরিয়েবলগুলিতে সঞ্চয় করে।

মুভি_ফরোয়ার্ড (): যখন আরডুইনো এই ফাংশনটি সম্পাদন করে, উভয় মোটরই সামনের দিকে এগিয়ে যায়।

Turn_left (): বাম মোটর থামে। বট বাম দিকে বাঁকান।

টার্ন_রাইট (): ডান মোটর থামে। বট ডান ঘুরিয়ে।

হোল্ট (): বট বন্ধ হয়ে যায়।

মুদ্রণ_প্রেমগুলি (): সিরিয়াল মনিটরে সেন্সরগুলির পঠন প্রদর্শন করে। এর জন্য আপনাকে অকার্যকর সেটআপে 'সিরিয়াল.বেগিন (9600)' আপত্তিহীন করতে হবে।

সেন্সর রিডিংস:

সেন্সর ওভার লাইনসেন্সর রিডিংস
বামডান
বাম সেন্সর0
ডান সেন্সর0
কোন
উভয়00

গতি নিয়ন্ত্রণ:

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

এ জাতীয় পরিস্থিতি এড়াতে, আমরা পিডব্লিউএম কৌশল ব্যবহার করে বটের গতি হ্রাস করি। উপরের কোডে একটি ভেরিয়েবল নামের মান রয়েছে।

গতি হ্রাস করতে কেবল ফাংশনে সংখ্যার মান হ্রাস করুন। আরডুইনো ইউএনওতে আপনি কেবল 0 এবং 255 এর মধ্যে pwm মান রাখতে পারেন values

অ্যানালগ রাইট (পিন, মান)

0<= value <=255

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




পূর্ববর্তী: ডিটিএমএফ মডিউলটি ব্যবহার করে মোবাইল ফোন নিয়ন্ত্রিত রোবট গাড়ি পরবর্তী: পাসওয়ার্ড নিয়ন্ত্রিত এসি সুইচ অন / অফ করুন