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

ہارڈویئر کی وضاحت
اس پروجیکٹ کے اہم اجزاء میں 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 سینسر کی سمت چیک کریں۔
وائرنگ ہدایات

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) ڈیبگنگ کے لیے سیریل کمیونیکیشن کو انیشیالائز کرتا ہے۔
مین لوپ حرکت چیک کرتا ہے اور جب حرکت کا پتہ چلتا ہے تو بزر اور ریلے کو فعال کرتا ہے۔ یہاں لوپ فنکشن کا ایک مرکوز اقتباس ہے:

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 – سیٹ اپ کا ڈیمونسٹریشن
/*
* 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
}
آپ کو جن چیزوں کی ضرورت ہو سکتی ہے
-
ایمیزون
-
ایمیزون
-
علی ایکسپریسPurchase 5v 12v 1 2 4 6 8 channel channel relay moduls.click.aliexpress.com
وسائل اور حوالہ جات
ابھی تک کوئی وسائل نہیں۔
فائلیں📁
ڈیٹا شیٹ (پی ڈی ایف)
-
robojax-HC-SR505-manual.pdf
robojax-HC-SR505-manual.pdf0.09 MB
فریٹزنگ فائل
-
HC-SR501 Body Sensor Module
HC-SR501 Body Sensor Module.fzpz0.01 MB