سبق 30/31: سن فاؤنڈر آرڈوینو کٹ سے اسمارٹ کار کے ذریعے کار-8 لائن ٹریکنگ | روبوجیکس
یہ گائیڈ آپ کو سن فاؤنڈر 3-ان-1 آرڈوینو کٹ کا استعمال کرتے ہوئے لائن فالو کرنے والی اسمارٹ کار بنانے کا طریقہ بتاتی ہے۔
ویڈیو میں دکھایا گیا یہ پروجیکٹ ایک انفراریڈ لائن ٹریکنگ ماجیول استعمال کرتا ہے تاکہ سفید سطح پر سیاہ لکیر کا پتہ لگایا جا سکے اور دو موٹروں کو کنٹرول کر کے کار کو ٹریک پر رکھا جا سکے۔ یہ ایک بنیادی روبوٹکس پروجیکٹ ہے جو آپ کو سینسر ریڈنگ، مشروط منطق، اور موٹر کنٹرول سکھاتا ہے۔ حقیقی دنیا میں اس کی قدر بہت زیادہ ہے—یہ گوداموں میں خودکار گائیڈڈ وہیکلز (AGVs)، روبوٹک ویکیوم کلینرز جو کمروں کے کناروں کی پیروی کرتے ہیں، اور خود مختار نیویگیشن سیکھنے کے لیے تعلیمی پلیٹ فارمز کی بنیاد ہے۔ بنیادی تعمیر سے آگے، آپ اس تصور کو اس کے لیے استعمال کر سکتے ہیں:

- ایک سادہ روبوٹ بنانا جو بھولبلییا یا ٹریک پر پہلے سے طے شدہ راستے پر چل سکے۔
- چھوٹے دفتر یا لیب کے لیے خودکار ڈیلیوری کارٹ بنانا۔
- اسکول کے سائنس پروجیکٹ یا مقابلے کے لیے لائن فالو کرنے والا روبوٹ تیار کرنا۔
- صنعتی کنویئر بیلٹ کے لیے ایک نظام کا پروٹوٹائپ بنانا جو اشیاء کو پوزیشن کی بنیاد پر ترتیب دے۔
ہارڈویئر اور اجزاء
اس پروجیکٹ کا مرکز لائن ٹریکنگ ماجیول ہے، جو انفراریڈ (IR) ٹرانسمیٹر اور ریسیور جوڑی استعمال کرتا ہے۔ کلیدی اجزاء کی تفصیل یہ ہے:
- لائن ٹریکنگ ماجیول (TCRT5000): یہ سینسر انفراریڈ روشنی خارج کرتا ہے اور منعکس شدہ شدت کی پیمائش کرتا ہے۔ ماجیول میں LM393 کمپیریٹر شامل ہے جو اینالاگ سگنل کو ڈیجیٹل HIGH یا LOW آؤٹ پٹ میں تبدیل کرتا ہے۔
- موٹروں کے ساتھ اسمارٹ کار چیسس: سن فاؤنڈر کٹ میں دو گیئرڈ موٹروں والا کار فریم شامل ہے، جنہیں آرڈوینو گاڑی کو سٹیئر کرنے کے لیے کنٹرول کرتا ہے۔
- آرڈوینو بورڈ: آپریشن کا "دماغ"، جو سینسر کو پڑھتا ہے اور موٹروں کو کمانڈ بھیجتا ہے۔
- موٹر ڈرائیور (کار کی شیلڈ پر): یہ سرکٹ آرڈوینو کے کم پاور پنوں کو زیادہ کرنٹ والی موٹروں کو کنٹرول کرنے کی اجازت دیتا ہے۔
وائرنگ گائیڈ
لائن ٹریکنگ ماجیول کی وائرنگ سیدھی ہے۔ ویڈیو کنکشنز اس طرح دکھاتی ہے (ویڈیو میں 04:04 پر):
- لائن ٹریکر VCC (درمیانی پن): آرڈوینو کے 5V پن سے جوڑیں۔
- لائن ٹریکر GND (بائیں پن): آرڈوینو کے GND پن سے جوڑیں۔
- لائن ٹریکر OUT (دائیں پن): آرڈوینو کے ڈیجیٹل پن 2 سے جوڑیں۔
موٹریں کار کی شیلڈ پر موٹر ڈرائیور سے جڑی ہوئی ہیں۔ کوڈ میں، دائیں موٹر کو پن 5 اور 6 سے کنٹرول کیا جاتا ہے، اور بائیں موٹر کو پن 9 اور 10 سے، جیسا کہ ویڈیو ڈیموسٹریشن میں دکھایا گیا ہے (ویڈیو میں 12:28 پر)۔
کوڈ کی وضاحت
کوڈ لائن ٹریکر سے ڈیجیٹل سگنل پڑھنے اور اس کے مطابق موٹروں کو کنٹرول کرنے کے لیے ڈیزائن کیا گیا ہے۔ صارف کی طرف سے ترتیب دیے جانے والے کلیدی حصے یہ ہیں:
const int in1 = 5; // in1,2 دائیں موٹر کے لیے
const int in2 = 6;
const int in3 = 9; // in3,4 بائیں موٹر کے لیے
const int in4 = 10;
const int lineTrack = 2;
- موٹر پن (in1, in2, in3, in4): یہ مستقل تعریف کرتے ہیں کہ کون سے آرڈوینو پن موٹر ڈرائیور سے جڑے ہیں۔ اگر آپ کی وائرنگ مختلف ہے، تو آپ کو اپنی سیٹ اپ سے مماثل کرنے کے لیے ان اقدار کو تبدیل کرنا ہوگا۔
- لائن ٹریکر پن (lineTrack): یہ سینسر کے سگنل آؤٹ پٹ سے جڑے ڈیجیٹل پن کی وضاحت کرتا ہے۔ کوڈ اس پن کو پڑھتا ہے تاکہ معلوم ہو سکے کہ سینسر سیاہ یا سفید سطح پر ہے۔
مرکزی لوپ میں، آپ کار کی موڑنے کی رفتار کو کنٹرول کرنے کے لیے speed متغیر کو ایڈجسٹ کر سکتے ہیں۔ قدر 0 سے 255 تک ہوتی ہے، جہاں زیادہ قدر کار کو تیزی سے موڑتی ہے۔
int speed = 150;//0 سے 255
منطق سادہ ہے: اگر سینسر HIGH (سیاہ لکیر) پڑھتا ہے، تو کار بائیں مڑتی ہے؛ بصورت دیگر، یہ دائیں مڑتی ہے۔ کسٹم فنکشنز moveLeft() اور moveRight() اسے حاصل کرنے کے لیے موٹروں کو کنٹرول کرتے ہیں۔ مثال کے طور پر، بائیں مڑنے کے لیے، دائیں موٹر گھومتی ہے جبکہ بائیں موٹر رک جاتی ہے، جس سے کار محور پر گھومتی ہے۔ یہ رویہ ویڈیو میں تفصیل سے بیان کیا گیا ہے (ویڈیو میں 10:39 پر)۔
لائن ٹریکر کو سیاہ لکیر پر رکھنا۔ حساسیت کو بھی ایڈجسٹ کرنا۔
لائیو پروجیکٹ ڈیموسٹریشن
ویڈیو لائن فالو کرنے والی کار کی لائیو ڈیموسٹریشن کے ساتھ ختم ہوتی ہے (ویڈیو میں 13:13 پر)۔ کار کو سیاہ ٹریک پر رکھا گیا ہے، اور سینسر براہ راست لکیر کے اوپر رکھا گیا ہے۔ جیسے ہی کار حرکت کرتی ہے، سینسر سیاہ لکیر اور سفید پس منظر کا پتہ لگاتا ہے، اور موٹروں کو اپنی سمت ایڈجسٹ کرنے کے لیے سگنل بھیجتا ہے۔ ڈیموسٹریشن سے پتہ چلتا ہے کہ کار کامیابی سے ایک مکمل دائرہ مکمل کرتی ہے، جو سادہ بائیں/دائیں اصلاح کی منطق کی تاثیر کو ثابت کرتی ہے۔
ابواب
- [00:00] لائن ٹریکنگ کا تعارف
- [01:09] لائن ٹریکنگ ماجیول کیسے کام کرتا ہے
- [04:04] لائن ٹریکنگ ماجیول کی وائرنگ
- [04:23] سیریل مانیٹر کے ساتھ سینسر کی جانچ
- [07:27] لائن فالو کرنے کی منطق کو سمجھنا
- [09:08] لائن فالو کرنے والی کار کا کوڈ
- [11:37] لائن فالو کرنے والی کار کا مظاہرہ
- [13:13] سیاہ ٹریک پر لائیو ٹیسٹ
/*
this is code for the tutorial: Lesson 30/31: Car-8 Line Tracking by Smart Car from SunFounder Arduino Kit
YouTube video: https://www.youtube.com/watch?v=Cp2rD5RkYug
Get the code from: 📚⬇️ Download and resource page https://robojax.com/RJT613
www.robojax.com
*/
const int in1 = 5; // in1,2 for right motor
const int in2 = 6;
const int in3 = 9; // in3,4 for left motor
const int in4 = 10;
const int lineTrack = 2;
void setup() {
Serial.begin(9600);
//motor
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
//line track
pinMode(lineTrack, INPUT);
}
void loop() {
int speed = 150;//0 to 255
int lineColor = digitalRead(lineTrack); // 0:white 1:black
// Serial.println(lineColor); //print on the serial monitor
if (lineColor) {
Serial.print("Black ");
moveLeft(speed);
} else {
Serial.print("White ");
moveRight(speed);
}
}
void moveLeft(int speed) {
Serial.println("LEFT");
analogWrite(in1, 0);
analogWrite(in2, speed);
analogWrite(in3, 0);
analogWrite(in4, 0);
}
void moveRight(int speed) {
Serial.println("RIGHT");
analogWrite(in1, 0);
analogWrite(in2, 0);
analogWrite(in3, speed);
analogWrite(in4, 0);
}
Common Course Links
Common Course Files
وسائل اور حوالہ جات
ابھی تک کوئی وسائل نہیں۔
فائلیں📁
کوئی فائلیں دستیاب نہیں ہیں۔