Search Code

ESP32 ٹیوٹوریل 19/55 - انفراریڈ سینسر کا استعمال کرتے ہوئے رکاوٹ کا پتہ لگانا | سن فاؤنڈر کا ESP32 IoT لرننگ کٹ

ESP32 ٹیوٹوریل 19/55 - انفراریڈ سینسر کا استعمال کرتے ہوئے رکاوٹ کا پتہ لگانا | سن فاؤنڈر کا ESP32 IoT لرننگ کٹ

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

ہم SunFounder ESP32 IoT لرننگ کٹ کے ساتھ کام کریں گے، جس میں ESP32 مائیکروکنٹرولر شامل ہے جو وائی-فائی اور بلوٹوتھ صلاحیتوں سے لیس ہے۔ انفراریڈ سینسر انفراریڈ روشنی بھیج کر کام کرتا ہے، جو قریبی رکاوٹوں سے منعکس ہوگی۔ جب روشنی واپس منعکس ہوتی ہے، تو سینسر ایک آؤٹ پٹ سگنل متحرک کرے گا جسے ہم اپنے کوڈ میں پڑھیں گے۔ ہم ایک بزر بھی شامل کریں گے جو رکاوٹ کا پتہ چلنے پر فعال ہوتا ہے، جس سے ایک قابل سماعت الرٹ ملتا ہے۔

ہارڈویئر کی وضاحت

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

انفراریڈ رکاوٹ سے بچنے والا سینسر ایک ٹرانسمیٹر اور ایک ریسیور پر مشتمل ہوتا ہے۔ ٹرانسمیٹر انفراریڈ روشنی خارج کرتا ہے، جبکہ ریسیور قریبی اشیاء سے منعکس روشنی کا پتہ لگاتا ہے۔ جب رکاوٹ موجود ہوتی ہے، تو سینسر کا آؤٹ پٹ پن کم ہو جاتا ہے، جو ESP32 کو کارروائی کرنے کا اشارہ دیتا ہے، جیسے بزر کو آن کرنا۔

ڈیٹاشیٹ کی تفصیلات

کارخانہ دارSunFounder
پارٹ نمبرانفراریڈ رکاوٹ سے بچنے والا سینسر
آپریٹنگ وولٹیج3.3 V - 5 V
آؤٹ پٹ کی قسمڈیجیٹل (رکاوٹ کا پتہ چلنے پر کم)
پتہ لگانے کی رینج20 سینٹی میٹر تک
رسپانس ٹائم10 ملی سیکنڈ سے کم
پیکیجماجیول

  • بجلی کی فراہمی: آپریشن کے لیے 3.3 V سے 5 V۔
  • رکاوٹ کا پتہ چلنے پر آؤٹ پٹ سگنل کم ہو جاتا ہے۔
  • پوٹینشیومیٹر کے ذریعے حساسیت کو ایڈجسٹ کیا جا سکتا ہے۔
  • عام پتہ لگانے کی رینج 20 سینٹی میٹر تک ہے۔
  • 10 ملی سیکنڈ سے کم کا تیز رسپانس ٹائم۔

وائرنگ کی ہدایات

ESP32-19-obstacle_voide-wiring

انفراریڈ رکاوٹ سے بچنے والے سینسر کو ESP32 سے جوڑنے کے لیے، سینسر کے VCC پن کو ESP32 کے 5V پن سے جوڑ کر شروع کریں۔ اگلا، سینسر کے GND پن کو ESP32 کے کسی ایک GND پن سے جوڑیں۔ آخر میں، سینسر کے OUT پن کو ESP32 کے GPIO پن 14 سے جوڑیں۔

بزر کے لیے، منفی ٹرمینل کو GND سے اور مثبت ٹرمینل کو GPIO پن 27 سے جوڑیں۔ یقینی بنائیں کہ تمام کنکشن محفوظ ہیں اور سینسر صحیح طریقے سے چل رہا ہے۔ وائرنگ سیدھی ہونی چاہیے، کیونکہ سینسر اور بزر کو صرف سادہ پاور اور سگنل کنکشن کی ضرورت ہوتی ہے۔

کوڈ کی مثالیں اور واک تھرو

کوڈ میں، ہم پہلے رکاوٹ سے بچنے والے سینسر سے منسلک پن کی وضاحت کرتے ہیں۔ یہ شناخت کنندہ avoidPin کو 14 پر سیٹ کر کے کیا جاتا ہے۔ ہم سینسر کی آؤٹ پٹ حالت رکھنے کے لیے ایک متغیر avoidState بھی اعلان کرتے ہیں۔

const int avoidPin = 14;  // ایوائیڈ ماجیول پن کا نمبر

int avoidState = 0;

سیٹ اپ فنکشن میں، ہم سیریل کمیونیکیشن شروع کرتے ہیں اور avoidPin کو ان پٹ کے طور پر سیٹ کرتے ہیں۔ یہ ESP32 کو سینسر کی آؤٹ پٹ حالت پڑھنے کی اجازت دیتا ہے۔

void setup() {
  Serial.begin(115200);  
  pinMode(avoidPin, INPUT);
}

لوپ فنکشن کے اندر، ہم digitalRead(avoidPin) کا استعمال کرتے ہوئے سینسر کی آؤٹ پٹ کو مسلسل پڑھتے ہیں اور نتیجہ avoidState میں محفوظ کرتے ہیں۔ یہ قدر پھر سیریل مانیٹر پر پرنٹ کی جاتی ہے، جس سے ہم دیکھ سکتے ہیں کہ رکاوٹ کا پتہ چلا ہے (آؤٹ پٹ 0 ہوگا) یا نہیں (آؤٹ پٹ 1 ہوگا)۔

void loop() {
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

مکمل کوڈ کے لیے، براہ کرم مضمون کے نیچے لوڈنگ سیکشن دیکھیں۔

ڈیموسٹریشن / کیا توقع کریں

جب سیٹ اپ مکمل ہو جائے اور کوڈ اپ لوڈ ہو جائے، تو آپ کو سیریل مانیٹر پر 0 یا 1 ظاہر ہوتا دیکھنا چاہیے اس بات پر منحصر ہے کہ رکاوٹ کا پتہ چلا ہے یا نہیں۔ جب رکاوٹ پتہ لگانے کی رینج کے اندر ہوتی ہے، تو آؤٹ پٹ 0 پڑھے گا، اور بزر بجے گا۔ اگر رکاوٹ ہٹا دی جائے، تو آؤٹ پٹ 1 پڑھے گا، اور بزر بند ہو جائے گا۔ یہ فعالیت ویڈیو میں دکھائی گئی ہے (ویڈیو میں 12:30 پر)۔

عام مسائل میں غلط وائرنگ شامل ہو سکتی ہے، جس کی وجہ سے سینسر صحیح طریقے سے کام نہیں کر سکتا، یا سیریل مانیٹر میں مماثل نہ ہونے والی بوڈ ریٹ، جو ڈیٹا کو درست طریقے سے ظاہر ہونے سے روکتی ہے۔ اگر آپ کو مسائل کا سامنا ہو تو ان پہلوؤں کو ضرور چیک کریں۔

ویڈیو ٹائم اسٹیمپس

  • 00:00 شروع
  • 1:57 پروجیکٹ کا تعارف
  • 4:33 رکاوٹ سے بچنے کی وائرنگ
  • 5:55 رکاوٹ سے بچنے کے لیے آرڈوینو کوڈ
  • 7:36 آرڈوینو آئی ڈی ای پر ESP32 بورڈ اور COM پورٹ کا انتخاب
  • 9:18 پروجیکٹ ڈیموسٹریشن
  • 10:42 حساسیت کو ایڈجسٹ کرنا رینج بڑھانا
  • 12:39 رکاوٹ کا پتہ چلنے پر کارروائی کرنا
  • 14:24 رکاوٹ کا پتہ چلنے پر بزر کا استعمال

تصاویر

ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-wiring
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
زبان: C++
// set pin
const int avoidPin = 14;  // the number of the avoid avoid module pin

// variable for storing the avoid status 
int avoidState = 0;

void setup() {
  Serial.begin(115200);  
  // initialize the avoid pin as an input
  pinMode(avoidPin, INPUT);
}

void loop() {
  // read the state of the avoid value
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

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

فائلیں📁

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