کوڈ تلاش کریں

آرڈوئینو کوڈ اور ویڈیو: انفراریڈ رکاوٹ سے بچنے کا ماجیول

آرڈوئینو کوڈ اور ویڈیو: انفراریڈ رکاوٹ سے بچنے کا ماجیول

یہ پروجیکٹ ظاہر کرتا ہے کہ انفراریڈ سینسر ماجیول اور ایک آرڈوینو مائیکروکنٹرولر استعمال کرتے ہوئے رکاوٹوں سے بچنے کا ایک سادہ نظام کیسے بنایا جائے۔ یہ ان ابتدائی افراد کے لیے ایک بہترین پروجیکٹ ہے جو سینسر انٹرفیسنگ اور بنیادی پروگرامنگ سیکھ رہے ہیں۔ اس ٹیکنالوجی کے استعمال بے شمار ہیں اور اسے مختلف پروجیکٹس کے مطابق ڈھالا جا سکتا ہے۔

IR osbstacle avoidance module

مثال کے طور پر:

  • روبوٹک نیویگیشن: کسی روبوٹ کو خود مختار طور پر رکاوٹوں سے بچنے کے لیے پروگرام کریں۔
  • سمارٹ ہوم آٹومیشن: کسی مخصوص علاقے میں اشیاء کا پتہ لگانے اور اس کے مطابق کارروائی کرنے کا نظام بنائیں۔
  • سیکیورٹی سسٹم: ایک بنیادی مداخلت کا پتہ لگانے والا نظام ڈیزائن کریں جو آپ کو خبردار کرے جب کوئی چیز نگرانی والے علاقے میں داخل ہو۔

ہارڈویئر/اجزاء

یہ پروجیکٹ ایک آسانی سے دستیاب انفراریڈ رکاوٹ سے بچنے والا ماجیول، ایک آرڈوینو مائیکروکنٹرولر، اور کچھ کنیکٹنگ تاروں کا استعمال کرتا ہے۔ انفراریڈ ماجیول میں خود ایک انفراریڈ ایمیٹر، ایک ریسیور، اور سگنل پراسیس کرنے کے لیے ایک آپریشنل ایمپلیفائر (op-amp) شامل ہے (ویڈیو میں 00:22 پر)۔ اس میں دو ایل ای ڈی بھی ہیں: ایک پاور کی نشاندہی کرتی ہے اور دوسری رکاوٹ کا پتہ لگانے کی نشاندہی کرتی ہے (ویڈیو میں 00:37 پر)۔

ماجیول میں تین پن ہیں: VCC (پاور)، GND (گراؤنڈ)، اور ایک آؤٹ پٹ پن۔ ایک پوٹینشیومیٹر آپ کو پتہ لگانے کی دوری کو ایڈجسٹ کرنے کی اجازت دیتا ہے، جو چند سینٹی میٹر سے لے کر تقریباً 10 سینٹی میٹر تک ہوتی ہے (ویڈیو میں 00:51 پر)۔

وائرنگ گائیڈ

وائرنگ سیدھی ہے۔ انفراریڈ ماجیول کے VCC پن کو آرڈوینو کے 5V پن سے، GND پن کو آرڈوینو کے GND پن سے، اور آؤٹ پٹ پن کو آرڈوینو کے ڈیجیٹل ان پٹ پن سے جوڑیں (مثال کوڈ میں پن 8 استعمال ہوا ہے)۔

Arduino wiring for IR osbstacle avoidance module
Arduino wiring for IR osbstacle avoidance module

کوڈ کی وضاحت

آرڈوینو کوڈ کافی سادہ ہے۔ اہم حصہ صحیح پن موڈ سیٹ کرنا اور سینسر کی آؤٹ پٹ پڑھنا ہے۔ کوڈ پن 8 کو ان پٹ کے طور پر استعمال کرتا ہے (pinMode(8, INPUT);) (ویڈیو میں 06:10 پر)۔ digitalRead(8) فنکشن اس پن کی حالت پڑھتا ہے، جو HIGH ہوتی ہے جب کوئی رکاوٹ نہ ہو اور LOW جب رکاوٹ موجود ہو (ویڈیو میں 06:15 پر)۔ کوڈ پھر سیریل مانیٹر پر "Obstacle on the way" یا "All clear" پرنٹ کرتا ہے (ویڈیو میں 06:29 پر)۔


void setup() {
  Serial.begin(9600);
  pinMode(8, INPUT); // پن 8 کو ان پٹ کے طور پر سیٹ کریں
}

void loop() {
  int detect = digitalRead(8); // پن 8 پڑھیں
  if (detect == LOW) {
    Serial.println("Obstacle on the way");
  } else {
    Serial.println("All clear");
  }
  delay(300);
}

لائیو پروجیکٹ/ڈیموسٹریشن

ویڈیو رکاوٹ سے بچنے کے نظام کی فعالیت کو ظاہر کرتی ہے۔ پیش کنندہ دکھاتا ہے کہ پوٹینشیومیٹر پتہ لگانے کی رینج کو کیسے ایڈجسٹ کرتا ہے (ویڈیو میں 00:57 پر)۔ سیریل مانیٹر آؤٹ پٹ واضح طور پر "Obstacle on the way" اور "All clear" پیغامات دکھاتا ہے، جو رکاوٹ کی موجودگی یا غیر موجودگی کے مطابق ہوتے ہیں (ویڈیو میں 07:07 پر)۔ زیادہ سے زیادہ پتہ لگانے کی رینج تقریباً 10 سینٹی میٹر ہے (ویڈیو میں 03:30 پر)۔

ابواب

  • [00:06] انفراریڈ رکاوٹ سے بچنے کا تعارف
  • [00:22] ماجیول کا جائزہ اور اجزاء
  • [00:51] پوٹینشیومیٹر ایڈجسٹمنٹ اور پتہ لگانے کی دوری
  • [01:19] انفراریڈ سینسر کیسے کام کرتا ہے
  • [02:29] رکاوٹ کا پتہ لگانے کا مظاہرہ
  • [05:57] کوڈ کی وضاحت: سیٹ اپ اور لوپ
  • [06:55] کوڈ اپ لوڈ اور سیریل مانیٹر ڈیمو
  • [07:35] مزید استعمال اور مستقبل کے پروجیکٹس

تصاویر

IR osbstacle avoidance module
IR osbstacle avoidance module
Arduino wiring for IR osbstacle avoidance module
Arduino wiring for IR osbstacle avoidance module
51-This is the Arduino code for an infrared obstacle avoidance module.
زبان: C++
/*
 * This is the Arduino code for the Infrared Obstacle Avoidance module.
 * Watch the video for details and demo: https://youtu.be/T3Li128GBlM
 * 
 * Written by Ahmad Nejrabi for the Robojax Video channel, www.Robojax.com
 * Date: December 28, 2017, in Ajax, Ontario, Canada
 * Permission granted to share this code, given that this
 * note is kept with the code.
 * Disclaimer: This code is "AS IS" and for educational purposes only.
 * This code has been downloaded from https://robojax.com
 */
void setup() {
 Serial.begin(9600);
 pinMode(8, INPUT);// set pin as input

}

void loop() {
  // Written for Robojax on December 28, 2017
  int detect = digitalRead(8);// read obstacle status and store it into "detect"
  if(detect == LOW){
    
   Serial.println("Obstacle on the way"); 
  }else{
    
   Serial.println("All clear");  
  }
  delay(300);
}

آپ کو جن چیزوں کی ضرورت ہو سکتی ہے

وسائل اور حوالہ جات

ابھی تک کوئی وسائل نہیں۔

فائلیں📁

فریٹزنگ فائل

دیگر فائلیں