Search Code

آرڈوینو کوڈ اور ویڈیو HC-SR505 موشن سینسر ماجیول کے لیے ریلے کے ساتھ

آرڈوینو کوڈ اور ویڈیو HC-SR505 موشن سینسر ماجیول کے لیے ریلے کے ساتھ

اس ٹیوٹوریل میں، ہم HC-SR505 موشن سینسر اور ریلے ماجیول کا استعمال کرتے ہوئے موشن ڈیٹیکشن سسٹم بنائیں گے۔ یہ سیٹ اپ آپ کو موشن کا پتہ چلنے پر لائٹس یا بزر جیسے آلات آن کرنے کی اجازت دے گا۔ ریلے ایک سوئچ کی طرح کام کرتا ہے تاکہ ہائی وولٹیج آلات کو محفوظ طریقے سے کنٹرول کیا جا سکے۔ اس گائیڈ کے اختتام تک، آپ کے پاس ایک فعال موشن سینسر سیٹ اپ ہوگا جو حرکت کی بنیاد پر مختلف آلات کو فعال کر سکتا ہے۔ واضح تفہیم کے لیے، متعلقہ ویڈیو (ویڈیو میں 0:00 پر) ضرور دیکھیں۔

HC-SR505 motion sensor

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

اس پروجیکٹ کے اہم اجزاء میں HC-SR505 موشن سینسر، ایک ریلے ماجیول، اور ایک Arduino بورڈ شامل ہیں۔ HC-SR505 ایک غیر فعال انفراریڈ (PIR) سینسر ہے جو انفراریڈ شعاعوں میں تبدیلیوں کو محسوس کرکے حرکت کا پتہ لگاتا ہے۔ یہ اپنے میدانِ نظر میں موجود اشیاء سے خارج ہونے والی حرارت کی پیمائش کرکے کام کرتا ہے۔ جب کوئی حرکت پذیر چیز پائی جاتی ہے، تو سینسر Arduino کو سگنل بھیجتا ہے۔

ریلے ماجیول ہائی وولٹیج ڈیوائس، جیسے لائٹ بلب، کو کنٹرول کرنے کے لیے استعمال ہوتا ہے۔ یہ ایک برقی طور پر چلنے والے سوئچ کی طرح کام کرتا ہے، جس سے Arduino ڈیوائس کو محفوظ طریقے سے آن یا آف کر سکتا ہے۔ ریلے کی دو اہم کنفیگریشنز ہیں: نارمل اوپن (NO) اور نارمل کلوزڈ (NC)، جو ریلے کے غیر فعال ہونے پر ڈیفالٹ حالت کا تعین کرتی ہیں۔

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

مینوفیکچررHC-SR505
پارٹ نمبرHC-SR505
لاجک/آئی او وولٹیج3.3V - 20V
سپلائی وولٹیج5V
آؤٹ پٹ کرنٹ (فی چینل)20 mA
پیک کرنٹ (فی چینل)100 mA
PWM فریکوئنسی رہنمائیN/A
ان پٹ لاجک تھریشولڈز0.3V (کم) / 2.5V (زیادہ)
وولٹیج ڈراپ / RDS(on) / سیچوریشن0.2V
تھرمل حدود+70 °C
پیکیجماجیول
نوٹس / ویریئنٹسچھوٹا سائز؛ کم بجلی کی کھپت

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

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

Arduino wiring for  HC-SR505 motion sensor
Arduino wiring for HC-SR505 motion sensor

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

ریلے ماجیول کے لیے، VCC پن کو Arduino کے 5V آؤٹ پٹ سے اور گراؤنڈ پن کو Arduino کے گراؤنڈ سے جوڑیں۔ ریلے کا ان پٹ پن Arduino کے ڈیجیٹل پن 9 سے منسلک ہونا چاہیے۔ آخر میں، بزر کے مثبت ٹرمینل کو ڈیجیٹل پن 8 سے اور اس کے منفی ٹرمینل کو گراؤنڈ سے جوڑیں۔ اپنے ڈیوائس کو کنٹرول کرنے کے لیے ریلے کے کامن اور نارمل اوپن پنوں کو مناسب طریقے سے جوڑنا یقینی بنائیں۔

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

اس پروجیکٹ کا کوڈ سینسر، بزر، اور ریلے کے لیے پنز کو انیشیالائز کرتا ہے۔ یہ حرکت چیک کرنے کے لیے digitalRead() فنکشن استعمال کرتا ہے اور اس کے مطابق جواب دیتا ہے۔ نیچے سیٹ اپ فنکشن کا ایک اقتباس ہے:


void setup() {
  Serial.begin(9600); // سیٹ اپ سیریل مانیٹر
  pinMode(PIR, INPUT_PULLUP); // سینسر کے لیے پن کو ان پٹ کے طور پر سیٹ کریں
  pinMode(BUZZER, OUTPUT); // بزر کے لیے پن کو آؤٹ پٹ کے طور پر سیٹ کریں
  pinMode(RELAY, OUTPUT); // ریلے کے لیے پن کو آؤٹ پٹ کے طور پر سیٹ کریں
}

اس اقتباس میں، پنز کو ان پٹ یا آؤٹ پٹ موڈ میں سیٹ کیا گیا ہے۔ Serial.begin(9600) ڈیبگنگ کے لیے سیریل کمیونیکیشن کو انیشیالائز کرتا ہے۔

مین لوپ حرکت چیک کرتا ہے اور جب حرکت کا پتہ چلتا ہے تو بزر اور ریلے کو فعال کرتا ہے۔ یہاں لوپ فنکشن کا ایک مرکوز اقتباس ہے:

Wirig relay module to AC load

void loop() {
  int motion = digitalRead(PIR); // سینسر پڑھیں
  if(motion) {
    Serial.println("موشن کا پتہ چلا");
    digitalWrite(BUZZER, HIGH); // بزر آن کریں
    digitalWrite(RELAY, LOW); // ریلے آن کریں
  } else {
    Serial.println("===کچھ نہیں حرکت کرتا");
    digitalWrite(BUZZER, LOW); // بزر آف رکھیں
    digitalWrite(RELAY, HIGH); // ریلے آف کریں
  }
  delay(500);
}

یہ اقتباس PIR سینسر کی حالت پڑھتا ہے اور پائی جانے والی حرکت کی بنیاد پر بزر اور ریلے کو فعال یا غیر فعال کرتا ہے۔ 500 ملی سیکنڈ کی تاخیر اس بات کو یقینی بناتی ہے کہ لوپ سینسر کو مناسب وقفے سے چیک کرے۔

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

جب حرکت کا پتہ چلتا ہے، تو ریلے سے منسلک لائٹ آن ہو جائے گی، اور بزر بجے گا۔ اگر کوئی حرکت نہ ہو، تو ریلے لائٹ آف کر دے گا، اور بزر خاموش رہے گا۔ آگاہ رہیں کہ HC-SR505 میں ایک بلٹ ان تاخیر ہے جو حرکت کا پتہ چلنے کے بعد آؤٹ پٹ کو مختصر وقت (8 سیکنڈ تک) فعال رکھتی ہے، جسے ایڈجسٹ نہیں کیا جا سکتا (ویڈیو میں 5:30 پر)۔

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

  • 00:00 – پروجیکٹ کا تعارف
  • 01:30 – اجزاء کی وضاحت
  • 03:15 – وائرنگ ہدایات
  • 05:30 – کوڈ واک تھرو
  • 07:00 – سیٹ اپ کا ڈیمونسٹریشن

تصاویر

Wirig relay module to AC load
Wirig relay module to AC load
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
HC-SR505 motion sensor
Arduino wiring for  HC-SR505 motion sensor
Arduino wiring for HC-SR505 motion sensor
74-This is the Arduino code for the HC-SR505 motion sensor (small) with relay.
زبان: C++
/*
 * This is the Arduino code for HC-SR501 Motion Sensor
 * to detect motion of human or objects using Arduino for robotic car and other applications
 * Watch HC-SR505 video https://youtu.be/qhThpxiXubI
 * 
// Written by Ahmad S. for Robojax.com on 
// February 10, 2018 at 11:41 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.
 * 
 */


#define PIR 2 // define pin 2 for sensor
#define BUZZER 8 // define pin 8 as for buzzer
#define RELAY 9 // define pin 9 as for relay

void setup() {
  // HC-SR505 Motion Sensor Code by Robojax.com 20180210
  Serial.begin(9600);// setup Serial Monitor to display information
  pinMode(PIR, INPUT_PULLUP);// define pin as Input sensor
  pinMode(BUZZER, OUTPUT);// define pin as OUTPUT for buzzer or LED
  pinMode(RELAY, OUTPUT);// define pin as OUTPUT for relay
}

void loop() {
  // HC-SR505 Motion Sensor Code by Robojax.com 20180210
  int motion =digitalRead(PIR);// read the sensor 
  if(motion){
    Serial.println("Motion detected");
    digitalWrite(BUZZER,HIGH);// turn the buzzer ON
    digitalWrite(RELAY,LOW);// turn the relay ON
  }else{
     Serial.println("===nothing moves");
     digitalWrite(BUZZER,LOW);// keep the buzzer OFF
     digitalWrite(RELAY,HIGH);// turn the relay OFF
  }
  delay(500);
 // HC-SR505 Motion Sensor Code by Robojax.com 20180210
}

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

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

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

فائلیں📁

ڈیٹا شیٹ (پی ڈی ایف)

فریٹزنگ فائل