سائنس میلے پروجیکٹ کے لئے اس لائن فالوور روبوٹ کو بنائیں

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





اس پوسٹ میں ہم سیکھتے ہیں کہ اریڈوینو کا استعمال کرتے ہوئے لائن فالوور روبوٹ سرکٹ کی تشکیل کیسے کی جائے ، جو خاص طور پر تیار کی گئی لائن آؤٹ پر چلائے گی اور جب تک یہ اس کے سینسرز کے ذریعہ دستیاب اور سراغ لگے گی ، وفاداری کے ساتھ اس کی پیروی کرے گی۔

بحنیٹ ساجوان کے ذریعہ



لائن فالوور روبوٹ کیا ہے؟

ایک خود مختار روبوٹ ایک مشین ہے جو پروگرامر کے ذریعہ ہدایت کے مطابق کئی ایکشن لے سکتی ہے ، بغیر کسی حقیقی طور پر انسان کے دستی طور پر کنٹرول کیے۔

لائن فالورز (ایل ایف آر) خود مختار روبوٹ کاریں بھی ہیں جو ایک یا زیادہ سینسرز اور سیاہ یا سفید لائن والے راستے سے چلتی ہیں۔ وہ جدید خود چلانے والی کاروں کی بنیاد رکھتے ہیں۔



ہر خود مختار روبوٹ کی طرح ، لائن فالوورز میں سگنل پروسیسنگ اور فیصلہ سازی کرنے والا یونٹ ، سینسرز اور ایکچیوئٹرز ہوتے ہیں۔ اگر آپ روبوٹکس کے ابتدائی ہیں اور اسے سنجیدگی سے لینا چاہتے ہیں تو ، یہیں سے آپ کو آغاز کرنا چاہئے۔ آئیے اسے بنانا شروع کریں۔

میں نے اس پروجیکٹ کو بنانے کے لئے دو انفرا ریڈ سینسر اور تھری وہیل ڈرائیو استعمال کی ہے۔ سینسرز کی کم سے کم تعداد جو استعمال کی جاسکتی ہے وہ ایک ہے اور زیادہ سے زیادہ آٹھ پی آئ ڈی پر مبنی لائن کے ل sufficient کافی ہیں۔

مطلوبہ اجزاء:

اردوینو اونو

چیسس

دو بیٹری سے چلنے والے (b.o.) موٹریں اور ہم آہنگ ٹائر

ارنڈی گیند

دو اورکت سینسر

موٹر ڈرائیور ماڈیول

بجلی کی فراہمی

ارڈینوو IDE سافٹ ویئر

اب ، آئیے اپنے اجزاء پر ایک نظر ڈالیں:

آرڈینو ایک : اس کو ہمارے روبوٹ کے کنٹرول روم کے طور پر ذرا تصور کریں .اب ، بہت سارے ترقیاتی بورڈ موجود ہیں ، جن پر اس پروجیکٹ کے لئے غور کیا جاتا تھا ، لیکن ارڈینو یو این او کا دوسروں سے کوئی مقابلہ نہیں تھا۔ ایسا نہیں ہے کہ ہمارا مرکزی کردار اپنی کثیر جہتی خصوصیات کے لحاظ سے برتر تھا۔

اگر ایسا ہوتا تو ، راسبیری پائی اور انٹیل ایڈیسن اسے آنکھوں کے مابین ٹکرا دیتے۔ سب سے مجبور دلائل جس کی وجہ سے ارڈینو یو این او کا انتخاب ہوا ، اس منصوبے کی خصوصیات ، قیمت ، سائز اور ضرورت کے امتزاج نے تشکیل دیا۔

کچھ متعلقہ وجوہات یہ تھیں:

سائز : یہ اتمیگا 16 یا اتمیگا 8 پر مبنی ڈویلپمنٹ بورڈ کے مقابلے میں بہت چھوٹا ہے ، چیسیس پر تھوڑی سی جگہ خرچ کرتا ہے ، لہذا آپ کو ایک کمپیکٹ اور آسان بوٹ مل جاتا ہے۔

یہ واقعی روبوٹکس مقابلوں میں اہمیت کا حامل ہے۔ مجھ پر بھروسہ کریں کہ آپ سارا دن اس جگہ جگہ بدلتے ہوئے ، بدصورت بوٹ کے ساتھ گھومنے سے نفرت کریں گے۔

سائز چھوٹا ، روبوٹ تیز اور موثر موڑ۔

بہترین پروٹوٹائپنگ بورڈ : بلاشبہ ، اردوینو یو این او کے پاس خصوصیات کا بہترین مرکب ہے پروٹو ٹائپنگ . ایک بار جب آپ کے سرکٹس جگہ پر ہوں اور آپ کا پروجیکٹ کامل ہوجائے تو آپ اسے ارڈوینو نینو اور اٹینی 85 آئیک کی طرح چھوٹی اور سستی چیز سے تبدیل کر سکتے ہیں۔

ان لوگوں کے لئے ، کالج پروجیکٹس کے لئے لائن فالوور بنانا ، میں تجویز کرتا ہوں کہ آخر میں یو این او کی جگہ نینو کی جگہ دی جائے۔

CHASSIS : یہ فریم ہے جو پوزیشن میں سارے اجزاء کو رکھتا ہے۔ ایک نیا چیسیس خریدتے وقت کچھ نکات پر غور کرنے کی ضرورت ہے ،

یہ ہلکا پھلکا اور مضبوط ہونا چاہئے۔

منصوبوں کے ل it's ، بہتر ہے اگر آپ بازار سے ایک خریدیں۔ لیکن اگر آپ مقابلہ کی تیاری کر رہے ہیں تو ، میں مقابلہ کے طول و عرض اور ضروریات کو مدنظر رکھتے ہوئے ، آپ کو زور سے مشورہ کرتا ہوں کہ آپ اپنی مرضی کے مطابق بنائیں۔

کسی پلاسٹک یا لکڑی کا چیسس منتخب کریں۔ جب دھاتی فریم آردوینو کے ساتھ رابطے میں آجاتے ہیں تو ، بہت ساری پنوں کو مختصر کردیا جاتا ہے۔ چیسیس کی تلاش کے دوران اس پر توجہ مرکوز کرنا ایک بہت بڑا عنصر ہے۔

اپنے چیسس کو ہر ممکن حد تک کم رکھیں - اس سے بیوٹی کو استحکام ملتا ہے۔

موٹرس : چلنے والی ہلکی وزن والی بیٹری استعمال کریں (B.O.) d.c. موٹرز

کیسٹر بیل : عام پہیے ایک محور کے ساتھ مترجم کی حرکت مہیا کرتے ہیں لیکن ایک ارنڈی گیند کو ڈیزائن کیا گیا ہے کہ وہ کسی بھی سمت کو آگے بڑھائے۔ یہ ہمیں تھری وہیل ڈرائیو دیتا ہے۔

4 پہیوں سے زیادہ تین پہی driveے ڈرائیو کو ترجیح دینے کی وجہ اس کی نسبتا faster تیزی سے موڑ دینے والی ایکشن ہے۔ آپ نے دیکھا ہوگا کہ سائیکل چلانے والے رکشہ ٹرانسفیکشن کی طرح ٹریفک کے راستے چھید رہے ہیں۔ ہمارے روبوٹ کا بھی یہی حال ہے۔

سینسرز : یہ ایک ایسا آلہ ہے جو ہمارے ماحول کے کسی بھی جسمانی پیرامیٹر کا پتہ لگاتا ہے یا اس کی پیمائش کرتا ہے اور اسے بجلی کے اشاروں میں تبدیل کرتا ہے۔ اس معاملے میں معلوم کیا گیا پیرامیٹر انفرا ریڈ کرنوں کا ہے۔

کسی بھی روبوٹ کے لئے سینسر انتہائی بنیادی ہوتے ہیں۔ ٹھیک ہے ، اگر آرڈوینو ہمارے بوٹ کا دماغ ہے تو ، سینسر بھی آنکھوں کا کردار ادا کرسکتے ہیں۔ یہاں سینسرز کے بارے میں کچھ باتیں ہیں۔

سینسر کو اس طرح پر مبنی ہونا چاہئے جس کی وجہ سے زمین کا سامنا ہو۔

آپ کو اپنے بوٹ کے اگلے سرے پر رکھنا چاہئے۔

ان کے درمیان کم سے کم فاصلہ بلیک لائن کی چوڑائی سے زیادہ ہونا چاہئے۔

موٹر ڈرائیور بورڈ : موٹر ڈرائیور بفر سرکٹس ہیں جو موٹروں کو طاقتور بنانے کے ل low کم وولٹیج سگنل لیتے ہیں جن کو زیادہ وولٹیج کی ضرورت ہوتی ہے۔

ہمارے معاملے میں ، ارڈینو موٹروں کو چلانے کے ل sufficient کافی وولٹیج مہیا کرسکتی ہے لیکن یہ کافی موجودہ فراہم نہیں کرسکتی ہے۔ ارڈوینو UNO's 5v اور GND پنوں کی موجودہ درجہ بندی 200mA ہے جبکہ کسی بھی GPIO پن کی درجہ بندی 40 ایم اے ہے۔ یہ ہماری ضرورت کے آغاز اور اسٹال کرنٹ موٹروں سے بہت کم ہے۔

میں دو موٹر ڈرائیور ہیں جن کو میں اس پروجیکٹ کے لئے ترجیح دیتا ہوں: L298N اور L293D۔ یہ منصوبہ دونوں اس منصوبے کے لئے یکساں موزوں ہیں۔

اگرچہ، L293D نسبتا che سستا ہے لیکن موجودہ درجہ بندی کم ہے۔ ان کے رابطے تقریبا ایک جیسے ہیں۔ چونکہ ، میں نے دونوں کے لئے کنکشن دیئے ہیں ، یہ آپ پر منحصر ہے کہ آپ اپنا بوٹ کیسے بناتے ہیں۔

بجلی کی فراہمی :

12 وی اڈاپٹر یا بیٹری (12 وولٹ سے زیادہ نہیں) استعمال کریں۔

اجزا کی جگہ (سامنے سے پیچھے تک):

آپ کے بوٹ کے سر پر سینسر۔

بیچ میں ارنڈی پہیا۔

موٹرز اور ٹائر ایک لائن میں پچھلی طرف۔

رابطے:

سینسرز برائے آرڈینو :

سینسر پن کو ارڈینو پن سے مربوط کریں جیسا کہ دکھایا گیا ہے ،

سینسر پنارڈینو پن
VCC (5v)5V
GND (G)GND
بائیں سینسر آؤٹ (ڈو)پن 6
صحیح سینسر آؤٹ (ڈو)پن 7

نوٹ: یہ چیک کرنے کے ل your کہ آیا آپ کے سینسر چلائے ہوئے ہیں ، اپنے سیل فون کے کیمرہ کو IR ٹرانسمیٹر کی قیادت میں نشاندہی کریں۔ آپ اسکرین پر لیڈ چمکتے ہوئے دیکھیں گے جو ہماری ننگی آنکھوں سے نہیں دیکھا جاسکتا۔ سیل فون کے کچھ جدید کیمرے میں انفرا ریڈ فلٹر ہوتا ہے۔ لہذا ، براہ کرم اس کو مدنظر رکھیں۔

موٹر سے ڈرائیور:

ہر موٹر میں دو ٹرمینلز ہوتے ہیں جنہیں موٹر ڈرائیور سے منسلک کرنے کی ضرورت ہوتی ہے۔ انہیں کبھی بھی براہ راست ارڈینو سے متصل کرنے کی کوشش نہ کریں۔ اپنے بوٹ کے پچھلے حصے سے ، آپ کے قریب موٹرز اور سینسر دور کی مدد سے ، انہیں مندرجہ ذیل سے مربوط کریں:

انجنL298NL293D
بائیں موٹرپن 1 اور 2پن 7 اور 8
سیدھے موٹرپن 13 اور 14پن 9 اور 10

موڈر ڈرائیور سے آرڈینو UNO:

موٹر ڈرائیور (L298N)آرڈینو ایک
پن 4WINE
پن 5GND
پن 65V
پن 8 اور پن 9پن 3 اور پن 9
پن 10 اور پن 11پن 5 اور پن 10
پن 7 اور پن 125V
موٹر ڈرائیور (L293D)آرڈینو ایک
پن 3WINE
پن 2GND
پن 15V
پن 5 اور پن 6پن 3 اور پن 9
پن 11 اور پن 12پن 5 اور پن 10
پن 4 اور پن 55V

نوٹ: 1 اور 2 سے منسلک موٹر کو کنٹرول کرنے کے لئے l298n کے پنوں 8 اور 9 کا استعمال کیا جاتا ہے۔ اور ، پنوں 13 اور 14 سے منسلک 10 اور 11 کنٹرول موٹر ہیں۔ اسی طرح ، l293d کے پنوں 5 اور 6 کا استعمال موٹر سے کنٹرول کرنے کے لئے کیا جاتا ہے۔ 7 اور 8. اور ، 12 اور 11 کنٹرول موٹر پنوں 9 اور 10 سے منسلک ہیں۔

یہاں ہم لوگ ، ڈیزائن حصے کے آخر تک۔ ہمارے پاس ابھی بھی کوڈنگ کرنا باقی ہے لیکن اس سے پہلے ہم ان اصولوں سے گذریں گے جو لائن فالونگ کی اجازت دیتے ہیں۔

انفرا ریڈ سینسر کیسے کام کرتا ہے:

انفرا ریڈ سینسر (IR سینسر) کو رنگوں اور اس سے اشیاء کی قربت میں تضاد محسوس کرنے کے لئے استعمال کیا جاسکتا ہے۔ IR سینسر کے کام کرنے کے پیچھے پڑا اصول بہت بنیادی ہے۔

جیسا کہ ہم دیکھ سکتے ہیں ، اس کے دو لیڈز ہیں - IR اترانا ہوا لیڈ اور ایک فوٹوڈیڈ۔ وہ ٹرانسمیٹر وصول کرنے والی جوڑی کے طور پر کام کرتے ہیں۔ جب امیٹر کرنوں کے سامنے رکاوٹ آتی ہے تو ، وہ پیچھے کی عکاسی کرتی ہیں اور وصول کنندہ کی طرف سے روکتی ہیں۔

یہ ایک ڈیجیٹل سگنل تیار کرتا ہے جو مائکروکینٹرولرز اور ایکچیوٹرز کو رکاوٹ کا سامنا کرنے پر ضروری کارروائی کرنے کے لئے کھلایا جاسکتا ہے۔

بنیادی طبیعیات ہمیں بتاتی ہیں کہ ایک سیاہ فام جسم اس پر تمام برقی مقناطیسی تابکاری کے واقعات کو جذب کرتا ہے جبکہ ایک سفید جسم اس کی عکاسی کرتا ہے۔ اس اصول کو سفید اور سیاہ سطح کے درمیان فرق کرنے کے لئے ایک لائن پیروکار استعمال کرتے ہیں۔

لائن فالوور روبوٹ کیسے کام کرتا ہے:

لائن فالوور لے آؤٹ

عام حالت میں ، روبوٹ اس طرح حرکت کرتا ہے کہ دونوں سینسر سفید سے زیادہ ہو چکے ہیں اور دونوں سنسروں کے بیچ بلیک لائن ہے۔

یہ دونوں موٹروں کو اس طرح گھمانے کے لئے پروگرام کیا گیا ہے کہ بوٹ آگے کی سمت میں چلا جاتا ہے۔

بالکل قدرتی طور پر ، جیسے جیسے وقت گزر جاتا ہے دونوں سینسروں میں سے ایک بلیک لائن پر آتا ہے۔

اگر بائیں سنسر لائن کے اوپر آجاتا ہے تو ، بائیں موٹرز کو آرام میں لایا جاتا ہے اور اس کے نتیجے میں بوٹ بائیں طرف مڑنا شروع کردیتا ہے جب تک کہ بائیں سنسر سفید سطح پر واپس نہ آجائے اور عام حالت حاصل نہ ہوجائے۔

اسی طرح ، جب دائیں سینسر بلیک لائن پر آتا ہے تو ، دائیں موٹریں بند کردی جاتی ہیں اور اس کے نتیجے میں بوٹ اب دائیں طرف مڑ جاتا ہے جب تک کہ سینسر سفید سطح پر واپس نہ آجائے۔ رخ موڑنے کا یہ طریقہ کار ڈرائیوئل ڈرائیو میکانزم کے نام سے جانا جاتا ہے۔

سرکٹ ڈایاگرام:

وائرنگ کی تفصیلات:

پروگرامنگ اور نتائج:

سرکٹ پارٹ کے ساتھ کام کرنے کے بعد ، اب ہم پروگرامنگ حصے کی طرف جائیں گے۔ اس حصے میں ، ہم اس پروگرام کو سمجھیں گے جو ہمارے روبوٹ کو کنٹرول کرتا ہے۔ کوڈ یہ ہے: / *
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 (): بائیں موٹر رک جاتی ہے۔ بوٹ بائیں مڑ۔

Turn_right (): دائیں موٹر رک جاتی ہے۔ بوٹ دائیں مڑ جاتا ہے۔

ہالٹ (): بوٹ رک جاتا ہے۔

پرنٹ_ریڈنگز (): سیریل مانیٹر پر سینسر کی ریڈنگ کو ظاہر کرتا ہے۔ اس کے لئے آپ کو باضابطہ سیٹ اپ میں 'Serial.begin (9600)' کو بے قابو کرنا پڑے گا۔

سینسر کی ریڈنگز:

سینسر اوور لائنسینسر کی ریڈنگز
بائیںٹھیک ہے
بائیں سینسر01
سیدھے سینسر10
کوئی نہیں11
دونوں00

تیز رفتار کنٹرول:

بعض اوقات موٹروں کی رفتار اتنی زیادہ ہوجاتی ہے کہ ارڈوینو سینسر سگنلز کی ترجمانی کرنے سے پہلے روبوٹ لائن کھو دیتا ہے۔ مختصر یہ کہ ، بوٹ تیز رفتار کی وجہ سے لائن کی پیروی نہیں کرتا ہے اور الگورتھم درست ہونے کے باوجود لائن کو کھو دیتا ہے۔

ایسے حالات سے بچنے کے ل we ، ہم PWM تکنیک کا استعمال کرتے ہوئے بوٹ کی رفتار کو کم کرتے ہیں۔ اوپر والے کوڈ میں متغیر نام کی قیمت ہے۔

رفتار کم کرنے کے لئے صرف فنکشن میں عددی قدر کو کم کریں۔ ارڈینوو یو این او میں آپ صرف 0 سے 255 کے درمیان پی ڈبلیو ایم کی قدر رکھ سکتے ہیں۔

ینالاگ لکھنا (پن ، قدر)

0<= value <=255

لائن فالور پر میری پوسٹ کا یہ اختتام ہے۔ میں امید کرتا ہوں کہ آپ کے جلتے ہوئے تمام سوالات کے جوابات دینے کے لئے یہ کافی تفصیل سے ہے اور اگر نایاب حقیقت میں ایسا نہیں ہے تو ہمارے پاس ہمیشہ آپ کے لئے کمنٹ سیکشن دستیاب ہے۔ اپنے شکوک کو مسترد کریں۔ خوشگوار ٹنکرنگ ہے!




پچھلا: ڈی ٹی ایم ایف ماڈیول کا استعمال کرتے ہوئے موبائل فون کنٹرول روبوٹ کار اگلا: پاس ورڈ کنٹرول شدہ AC مینز آن / آف سوئچ ہے