Search Code

آرڈوینو کوڈ اور ویڈیو ایچ سی-ایس آر 501 موشن سینسر کے لیے

آرڈوینو کوڈ اور ویڈیو ایچ سی-ایس آر 501 موشن سینسر کے لیے

اس ٹیوٹوریل میں، ہم HC-SR501 موشن سینسر کو دریافت کریں گے، جو انفراریڈ ٹیکنالوجی کے ذریعے حرکت کا پتہ لگانے کے لیے ڈیزائن کیا گیا ہے۔ سینسر ایک آؤٹ پٹ کو متحرک کر سکتا ہے، جس سے آپ موشن کا پتہ لگانے کی بنیاد پر ایل ای ڈی یا الارم جیسے آلات کو کنٹرول کر سکتے ہیں۔ اس ٹیوٹوریل کے اختتام تک، آپ کو سینسر کو وائر کرنے اور اسے مؤثر طریقے سے کام کرنے کے لیے Arduino کوڈ کو لاگو کرنے کا واضح اندازہ ہو جائے گا۔ (ویڈیو میں 00:45 پر)

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

HC-SR501 موشن سینسر ایک کمپیکٹ ماجیول ہے جس کی پیمائش 32 بائی 24 ملی میٹر ہے، جو 5 سے 20 وولٹ کی وولٹیج رینج میں کام کرنے کی صلاحیت رکھتا ہے۔ اس کے مرکز میں LHI 778 انفراریڈ سینسر ہے، جو انفراریڈ تابکاری میں تبدیلیوں کو محسوس کرکے حرکت کا پتہ لگاتا ہے۔ یہ اسے مختلف ایپلیکیشنز کے لیے موزوں بناتا ہے، بشمول سیکیورٹی سسٹم اور روبوٹک پروجیکٹس۔

اس ماجیول میں تین اہم پن ہیں: VCC پاور کے لیے، GND گراؤنڈ کے لیے، اور OUT آؤٹ پٹ سگنل کے لیے۔ جب حرکت کا پتہ چلتا ہے، OUT پن ایک ہائی سگنل (3.3 وولٹ TTL) بھیجتا ہے، جو الارم یا دیگر آلات کو متحرک کرنے کے لیے استعمال کیا جا سکتا ہے۔ سینسر میں ایڈجسٹ ایبل حساسیت اور وقت میں تاخیر کی ترتیبات بھی شامل ہیں، جس سے آپ اپنی مخصوص ضروریات کی بنیاد پر اس کے آپریشن کو اپنی مرضی کے مطابق بنا سکتے ہیں۔

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

مینوفیکچررHC-SR501
پارٹ نمبرHC-SR501
لاجک/آئی او وولٹیج3.3 V
سپلائی وولٹیج5–20 V
آؤٹ پٹ کرنٹ (فی چینل)≤ 20 mA
پیک کرنٹ (فی چینل)≤ 50 mA
PWM فریکوئنسی رہنمائیلاگو نہیں
ان پٹ لاجک تھریشولڈز0.8 V (LOW)، 2.0 V (HIGH)
وولٹیج ڈراپ / RDS(on) / سنترپتی0.1 V
تھرمل حدود0°C سے 70°C
پیکیجماجیول
نوٹس / مختلف قسمیںایڈجسٹ ایبل حساسیت اور وقت میں تاخیر

  • درست پاور سپلائی وولٹیج (5-20 V) کو یقینی بنائیں۔
  • کرنٹ محدود کرنے کے لیے ایل ای ڈی کے ساتھ سیریز میں ریزسٹر استعمال کریں۔
  • پتہ لگانے کی رینج کے لیے حساسیت پوٹینشیومیٹر کو ایڈجسٹ کریں۔
  • وقت میں تاخیر سیٹ کریں تاکہ آؤٹ پٹ کب تک ہائی رہے اسے کنٹرول کیا جا سکے۔
  • فلوٹنگ ان پٹس سے محتاط رہیں؛ ضرورت کے مطابق پل-اپ یا پل-ڈاؤن ریزسٹر استعمال کریں۔

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

Arduino wiring for HC-SR501 Motions sensor
Arduino wiring for HC-SR501 Motions sensor

HC-SR501 موشن سینسر کو وائر کرنے کے لیے، پہلے VCC پن کو Arduino پر 5V آؤٹ پٹ سے جوڑیں۔ اگلا، GND پن کو Arduino پر گراؤنڈ (GND) سے جوڑیں۔ OUT پن کو Arduino پر ڈیجیٹل پن 2 سے جوڑا جانا چاہیے، جو موشن ڈیٹیکشن سگنل پڑھے گا۔

اگر آپ بصری فیڈ بیک کے لیے ایل ای ڈی استعمال کر رہے ہیں، تو ایل ای ڈی کے اینوڈ (لمبا پن) کو Arduino پر ڈیجیٹل پن 8 سے جوڑیں۔ کیتھوڈ (چھوٹا پن) کو 680-اوہم ریزسٹر کے ایک ٹرمینل سے جوڑا جانا چاہیے، ریزسٹر کا دوسرا ٹرمینل گراؤنڈ سے جاتا ہے۔ یہ سیٹ اپ Arduino کو موشن ڈیٹیکشن کی بنیاد پر ایل ای ڈی کو کنٹرول کرنے کی اجازت دیتا ہے۔

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

اس سیٹ اپ کے لیے Arduino کوڈ سیریل مانیٹر کو ابتدائیہ کرتا ہے اور ان پٹ اور آؤٹ پٹ پنوں کو کنفیگر کرتا ہے۔ کوڈ میں کلیدی شناخت کنندگان میں motion شامل ہے، جو موشن سینسر کی حالت کو محفوظ کرتا ہے، اور ان پٹ پڑھنے اور ایل ای ڈی کو کنٹرول کرنے کے لیے استعمال ہونے والے ڈیجیٹل پن شامل ہیں۔

void setup() {
  Serial.begin(9600);// معلومات ظاہر کرنے کے لیے سیریل مانیٹر سیٹ اپ کریں
  pinMode(2, INPUT);// سینسر سے ان پٹ
  pinMode(8, OUTPUT);// الارم یا ایل ای ڈی کو آؤٹ پٹ
}

اس اقتباس میں، setup() فنکشن سیریل کمیونیکیشن کو ابتدائیہ کرتا ہے اور سینسر اور ایل ای ڈی کے لیے پن موڈز سیٹ کرتا ہے۔ پن 2 کو موشن سینسر کے آؤٹ پٹ کو پڑھنے کے لیے ان پٹ کے طور پر سیٹ کیا گیا ہے، جبکہ پن 8 کو ایل ای ڈی کو کنٹرول کرنے کے لیے آؤٹ پٹ کے طور پر سیٹ کیا گیا ہے۔

void loop() {
  int motion = digitalRead(2);
  if(motion){
    Serial.println("Motion detected");
    digitalWrite(8, HIGH);
  }else{
    Serial.println("===nothing moves");
    digitalWrite(8, LOW);
  }
  delay(500);
}

یہ کوڈ سنیپٹ مرکزی لوپ کی نمائندگی کرتا ہے جہاں پروگرام مسلسل موشن سینسر کی حالت چیک کرتا ہے۔ اگر حرکت کا پتہ چلتا ہے، تو یہ سیریل مانیٹر پر "Motion detected" پرنٹ کرتا ہے اور ایل ای ڈی آن کرتا ہے۔ اگر کوئی حرکت نہیں پائی جاتی ہے، تو یہ "===nothing moves" پرنٹ کرتا ہے اور ایل ای ڈی آف کرتا ہے۔

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

جب سیٹ اپ مکمل ہو جاتا ہے اور کوڈ Arduino پر اپ لوڈ ہو جاتا ہے، تو آپ کو توقع کرنی چاہیے کہ جب HC-SR501 سینسر حرکت کا پتہ لگائے گا تو ایل ای ڈی روشن ہو جائے گی۔ اس کے علاوہ، سیریل مانیٹر پیغامات ظاہر کرے گا جو بتائیں گے کہ حرکت کا پتہ چلا ہے یا نہیں۔ اگر آپ سینسر پر حساسیت اور وقت میں تاخیر کی ترتیبات کو ایڈجسٹ کرتے ہیں، تو آپ دیکھ سکتے ہیں کہ سینسر حرکت پر کتنی جلدی ردعمل دیتا ہے اس میں تبدیلیاں آتی ہیں (ویڈیو میں 05:30 پر)۔

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

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

  • 00:00 تعارف
  • 00:45 ہارڈویئر کا جائزہ
  • 02:30 وائرنگ ہدایات
  • 04:00 کوڈ کی وضاحت
  • 05:30 ڈیمونسٹریشن

تصاویر

HC-SR501 back
HC-SR501 back
HC-SR501 module
HC-SR501 module
Arduino wiring for HC-SR501 Motions sensor
Arduino wiring for HC-SR501 Motions sensor
48-This is the Arduino code for the HC-SR501 motion sensor.
زبان: C++
/*
 * This is the Arduino code for HC-SR501 Motion Sensor
 * to detect motion of humans or objects using Arduino for robotic car and other applications
 * Watch the video https://youtu.be/mZCJNOf69JI
 * 
 * Written by Ahmad Shamshiri for Robojax Video
 * Date: Dec 27, 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.
 * 
 */

void setup() {
  Serial.begin(9600);// setup Serial Monitor to display information
  pinMode(2, INPUT);// Input from sensor
  pinMode(8, OUTPUT);// OUTPUT to alarm or LED
}

void loop() {
  int motion =digitalRead(2);
  if(motion){
    Serial.println("Motion detected");
    digitalWrite(8,HIGH);
  }else{
     Serial.println("===nothing moves");
     digitalWrite(8,LOW);
  }
  delay(500);

}

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

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

فائلیں📁

دیگر فائلیں