د HC-SR501 حرکت سینسر د ریلې او Arduino کوډ سره کارول
په دې ټیوټوریل کې به موږ وپلټو چې څنګه د HC-SR501 حرکت سینسر د ریلې سره په ګډه وکاروو ترڅو د AC بلب یا بل ډول بار د Arduino په کارولو سره کنټرول کړو. HC-SR501 یو انفراریډ حرکت سینسر دی چې کولی شي تر ۷ مترو پورې حرکت کشف کړي، چې دا د مختلفو غوښتنلیکونو لکه د امنیت الارمونو یا اتوماتیک رڼا سیسټمونو لپاره مثالی کوي. د دې سینسر او ریلې په کارولو سره، تاسو کولی شئ یو پروژه جوړه کړئ چې کله حرکت کشف شي نو رڼا روښانه کړي.

موږ به د هارډویر تنظیم، د تارونو د نښلولو لارښوونو، او د Arduino کوډ په اړه ګام په ګام لارښود وړاندې کړو چې د دې فعالیت د ترلاسه کولو لپاره اړین دی. د پروسې د ښه پوهیدو لپاره، ډاډ ترلاسه کړئ چې اړونده ویډیو وګورئ (په ویډیو کې په 00:00).
هارډویر تشریح شوی
په دې پروژه کې لومړني اجزا د HC-SR501 حرکت سینسر، د ریلې ماډل، او د Arduino بورډ شامل دي. د HC-SR501 سینسر درې پنونه لري: VCC، GND، او OUT. د VCC پن د بریښنا سرچینې (5V) سره نښلول کیږي، د GND پن د ځمکې سره نښلول کیږي، او د OUT پن کله چې حرکت کشف شي Arduino ته سیګنال لیږي.
د ریلې ماډل د سویچ په توګه کار کوي چې کولی شي د لوړ ولتاژ وسایل کنټرول کړي. دا درې اصلي پنونه لري: COM (عام)، NO (معمولا خلاص)، او NC (معمولا تړلی). په دې تنظیم کې، موږ به د NO پن وکاروو، کوم چې کله ریلې فعاله شي نو بار سره نښلول کیږي. دا Arduino ته اجازه ورکوي چې د حرکت سینسر څخه ترلاسه شوي سیګنال پر بنسټ ریلې کنټرول کړي.
ډیټاشیټ تفصیلات
| جوړونکی | HC-SR501 |
|---|---|
| د پرزې شمېره | HC-SR501 |
| د منطق/IO ولتاژ | 5 V |
| د بریښنا رسولو ولتاژ | 5–20 V |
| د بریښنا مصرف | 65 mA |
| د کشف زاویه | ۱۲۰ درجې |
| د کشف واټن | 3–7 m |
| د کار کولو تودوخه | -15 to 70 °C |
| د محصول ډول | ډیجیټل |
| بسته بندي | ماډل |
- د سینسر لپاره مناسب بریښنا رسول (5–20 V) ډاډمن کړئ.
- د غوره کشف حد لپاره د حساسیت پوټینشیومیټر تنظیم کړئ.
- د بار په مؤثره توګه کنټرولولو لپاره د ریلې NO پن وکاروئ.
- د ریلې د اوسني درجه بندۍ (اعظمي 10 A) په اړه محتاط اوسئ.
- د وروستي نصبولو دمخه د حرکت سینسر د کشف حد ازموئ.
- که چیرې د لوړ بارونو لپاره ریلې وکاروئ نو د تودوخې د خپریدو په اړه فکر وکړئ.
د تارونو د نښلولو لارښوونې

د HC-SR501 حرکت سینسر او ریلې د Arduino سره د نښلولو لپاره، لومړی د حرکت سینسر د VCC پن د Arduino په 5V پن سره ونښلوئ. بیا، د سینسر د GND پن د Arduino په یو له GND پنونو سره ونښلوئ. د حرکت سینسر څخه د OUT پن باید د Arduino په ډیجیټل پن 2 سره ونښلول شي.
د ریلې ماډل لپاره، د VCC پن د Arduino په 5V پن سره او د GND پن د ځمکې سره ونښلوئ. د ریلې د انپټ پن (چې ډیری وخت IN یا ورته نښه لري) باید د Arduino په ډیجیټل پن 4 سره ونښلول شي. ډاډ ترلاسه کړئ چې د ریلې سمت وګورئ ترڅو ډاډ ترلاسه کړئ چې دا د دې تنظیم لپاره په معمولا خلاص (NO) حالت کې ټاکل شوی. په پای کې، بار (لکه د AC بلب) د ریلې له مشخصاتو سره سم ریلې ته ونښلوئ، ډاډ ترلاسه کړئ چې اړیکې خوندي دي.
د کوډ مثالونه او تفصیلي کتنه
د Arduino کوډ کې، موږ د سینسر او ریلې پنونو لپاره ثابتونه تعریف کوو. د سینسر پن د SENSOR_PIN په توګه ټاکل شوی، کوم چې ډیجیټل پن 2 ته ټاکل شوی، او د ریلې پن د RELAY_PIN په توګه ټاکل شوی، کوم چې ډیجیټل پن 4 ته ټاکل شوی. دا ترتیب موږ ته اجازه راکوي چې د سینسر محصول ولولئ او د هغې مطابق ریلې کنټرول کړو.
const int SENSOR_PIN = 2; // د Arduino پن چې د سینسر له محصول سره نښلول شوی
const int RELAY_PIN = 4; // د Arduino پن چې د ریلې د کنټرول لپاره نښلول شوی
د setup() فنکشن کې، موږ د ډیبګ کولو لپاره سریال مانیټر پیل کوو او د سینسر او ریلې پنونو لپاره د پن حالتونه ټاکو. دا ډاډ ورکوي چې Arduino پوهیږي کوم پنونه انپټ او کوم آوټپټ دي.
void setup() {
Serial.begin(9600); // د معلوماتو د ښودلو لپاره سریال مانیټر تنظیم کړئ
pinMode(SENSOR_PIN, INPUT); // SENSOR_PIN د سینسر څخه د انپټ په توګه تعریف کړئ
pinMode(RELAY_PIN, OUTPUT); // RELAY_PIN د ریلې لپاره د آوټپټ په توګه تعریف کړئ
}
د loop() فنکشن کې، موږ په دوامداره توګه د حرکت سینسر حالت ګورو. که چیرې حرکت کشف شي، موږ سریال مانیټر ته یو پیغام چاپوو او ریلې د ټیټ په ټاکلو سره فعالوو. که چیرې حرکت ونه کشف شي، موږ یو بل پیغام چاپوو او ریلې د لوړ په ټاکلو سره بندوو.
void loop() {
int motion = digitalRead(SENSOR_PIN); // د سینسر پن ولولئ
if (motion) {
Serial.println("حرکت کشف شو");
digitalWrite(RELAY_PIN, LOW); // ریلې فعاله کړئ
} else {
Serial.println("===هیڅ شی نه حرکت کوي");
digitalWrite(RELAY_PIN, HIGH); // ریلې بنده کړئ
}
delay(500);
}
ښودنه / څه تمه ولرئ
کله چې د حرکت سینسر حرکت کشف کړي، ریلې به فعاله شي، چې تړلي بار ته لکه د AC بلب ته د بریښنا جریان اجازه ورکوي. تاسو باید وګورئ چې بلب د حرکت په کشف کیدو سره natدې شیبه روښانه کیږي. که چیرې سینسر کوم حرکت ونه کشف کړي، بلب به بند پاتې شي. په یاد ولرئ چې د سینسر د حساسیت تنظیمات به د هغې د کشف حد اغیزمن کړي، نو د غوره فعالیت لپاره ممکن سمونونه اړین وي (په ویډیو کې په 05:00).
عامې ستونزې د غلط تارونو نښلول یا د ریلې د اوسني حد څخه زیاتوالی شامل دي، کوم چې کولی شي ناکامۍ ته لاره هواره کړي. ډاډ ترلاسه کړئ چې ټولې اړیکې خوندي دي او د وروستي کارونې دمخه په کنټرول شوي چاپیریال کې تنظیم ازموئ.
د ویډیو وخت نښې
- 00:00 پیل
- 00:35 د هارډویر تشریح
- 04:35 د ریلې بریښنا درجه
- 06:00 د تارونو تشریح
- 07:53 د آردوینو کوډ تشریح
- 09:48 د دې پروژې ننداره
/*
* This Arduino code uses an HS-SR501 motion sensor and a relay
* and switches an alarm or a device using the relay when motion is detected.
* The device can be an alarm, a light, or any other device.
*
* Written by Ahmad Shamshiri on August 5, 2018, at 12:36 PM for Robojax.com
* in Ajax, Ontario, Canada
* Watch the video instruction for this code: https://youtu.be/QQ7iDagQnQM
* This code has been downloaded from Robojax.com
*/
const int SENSOR_PIN = 2;// the Arduino pin connected to the output (middle) wire of the sensor
const int RELAY_PIN = 4;// the Arduino pin which is connected to control the relay
void setup() {
Serial.begin(9600);// setup Serial Monitor to display information
Serial.println("Robojax Arduino Tutorial");
Serial.println("HC-SR501 sensor with relay");
pinMode(SENSOR_PIN, INPUT);// Define SENSOR_PIN as Input from sensor
pinMode(RELAY_PIN, OUTPUT);// Define RELAY_PIN as OUTPUT for relay
}
void loop() {
// Robojax.com HC-SR501 motion sensor tutorial August 5, 2018
int motion =digitalRead(SENSOR_PIN);// read the sensor pin and stores it in "motion" variable
// if motion is detected
if(motion){
Serial.println("Motion detected");
digitalWrite(RELAY_PIN, LOW);// Turn the relay ON
}else{
Serial.println("===Nothing moves");
digitalWrite(RELAY_PIN,HIGH);// Turn the relay OFF
}
delay(500);
// Robojax.com HC-SR501 motion sensor tutorial August 5, 2018
}
Things you might need
-
Amazon
-
eBay
-
AliExpressPurchase HC-SR501 HC-SR505 HW-MS03 motion sensor from AliExpresss.click.aliexpress.com
Resources & references
No resources yet.
Files📁
No files available.