آرڈوینو کوڈ اور ویڈیو ایچ سی-ایس آر 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) کو یقینی بنائیں۔
- کرنٹ محدود کرنے کے لیے ایل ای ڈی کے ساتھ سیریز میں ریزسٹر استعمال کریں۔
- پتہ لگانے کی رینج کے لیے حساسیت پوٹینشیومیٹر کو ایڈجسٹ کریں۔
- وقت میں تاخیر سیٹ کریں تاکہ آؤٹ پٹ کب تک ہائی رہے اسے کنٹرول کیا جا سکے۔
- فلوٹنگ ان پٹس سے محتاط رہیں؛ ضرورت کے مطابق پل-اپ یا پل-ڈاؤن ریزسٹر استعمال کریں۔
وائرنگ ہدایات

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 ڈیمونسٹریشن
/*
* 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);
}
وسائل اور حوالہ جات
ابھی تک کوئی وسائل نہیں۔
فائلیں📁
دیگر فائلیں
-
HC-SR501 موشن سینسر LHI778 دستی کتاب
robojax-HC-SR501-motion-LHI778-manual.pdf0.20 MB