استفاده از حساس(حس کننده) حرکتی HC-SR501 با ریلی و شِفر (کود) آردوینو
در این آموزش، به بررسی نحوه استفاده از حساس(حس کننده) حرکتی HC-SR501 در ترکیب با یک ریلی برای کنترل یک لامپ AC یا نوع دیگری از بار با استفاده از آردوینو خواهیم پرداخت. HC-SR501 یک حساس(حس کننده) حرکتی مادون قرمز است که میتواند حرکت را تا فاصله 7 متری شناسایی کند، که آن را برای کاربردهای مختلفی مانند سیستمهای امنیتی یا سیستمهای روشنایی خودکار ایدهآل میسازد. با استفاده از این حساس(حس کننده) و یک ریلی، میتوانید پروژهای بسازید که وقتی حرکت شناسایی میشود، چراغی را روشن میکند.

ما یک راهنمای مرحله به مرحله در مورد تنظیم سختافزار، دستورالعملهای سیمکشی و شِفر (کود) آردوینو مورد نیاز برای دستیابی به این عملکرد ارائه خواهیم داد. برای درک بهتر از این فرآیند، حتماً ویدیو مرتبط را تماشا کنید (در ویدیو در 00:00).
سختافزار توضیح داده شده
اجزاء اصلی در این پروژه شامل حساس(حس کننده) حرکتی HC-SR501، یک ماجیول ریلی و یک برد آردوینو است. حساس(حس کننده) HC-SR501 دارای سه پایه است: VCC، GND، و OUT. پایه VCC به منبع تغذیه (۵ ولت) متصل میشود، پایه GND به زمین متصل میشود و پایه OUT سیگنالی به آردوینو ارسال میکند زمانی که حرکت شناسایی شود.
ماجیول ریلی به عنوان یک کلید عمل میکند که میتواند دستگاههای با ولتاژ بالا را کنترل کند. این ماجیول سه پایه اصلی دارد: COM (مشترک)، NO (عادی باز) و NC (عادی بسته). در این پیکربندی، ما از پایه NO استفاده خواهیم کرد که هنگام فعال شدن ریلی، به بار متصل میشود. این اجازه میدهد که آردوینو ریلی را بر اساس سیگنال دریافتی از حساس(حس کننده) حرکت کنترل کند.
جزئیات دیتاشیت
| سازنده | HC-SR501 |
|---|---|
| شماره قطعه | HC-SR501 |
| ولتاژ logic/IO | ۵ ولت |
| ولتاژ منبع | 5-20 ولت |
| مصرف برق | ۶۵ میلی آمپر |
| زاویه تشخیص | ۱۲۰ درجه |
| فاصله تشخیص | ۳-۷ متر |
| دمای عملیاتی | -۱۵ تا ۷۰ درجه سانتیگراد |
| نوع خروجی | دیجیتال |
| بسته | مدول |
- تأمین منبع تغذیه مناسب (۵-۲۰ ولت) برای حساس(حس کننده).
- پتانسیومتر حساسیت را برای دامنه تشخیص بهینه تنظیم کنید.
- از پایه NO ریلی برای کنترل بار به طور مؤثر استفاده کنید.
- به ظرفیت جریان ریلی (حداکثر ۱۰ آمپر) توجه داشته باشید.
- محدوده تشخیص حساس(حس کننده) حرکتی را قبل از نصب نهایی امتحان کنید.
- در نظر داشته باشید که اگر از ریلی برای بارهای بالا استفاده میکنید، تلفات حرارتی را مد نظر قرار دهید.
دستورالعمل های سیم کشی

برای اتصال حساس(حس کننده) حرکتی HC-SR501 و ریلی به آردوینو، ابتدا پایه VCC حساس(حس کننده) حرکتی را به پایه 5V آردوینو متصل کنید. سپس پایه GND حساس(حس کننده) را به یکی از پایههای GND آردوینو متصل کنید. پایه OUT حساس(حس کننده) حرکتی باید به پایه دیجیتال 2 آردوینو متصل شود.
برای ماجیول ریلی، پایه VCC را به پایه ۵ ولت آردوینو و پایه GND را به زمین متصل کنید. پایه ورودی (معمولاً با IN یا مشابه آن علامتگذاری شده) ریلی باید به پایه دیجیتال ۴ آردوینو متصل شود. اطمینان حاصل کنید که جهت ریلی را بررسی کنید تا مطمئن شوید که برای این تنظیمات روی حالت دکمهای باز (NO) قرار دارد. در نهایت، بار (مثلاً یک لامپ AC) را طبق مشخصات ریلی به ریلی متصل کنید و از محکم بودن اتصالات اطمینان حاصل کنید.
نمونههای شِفر (کود) و راهنما
در شِفر (کود) آردوینو، ثابتهایی را برای پایههای حساس(حس کننده) و ریلی تعریف میکنیم. پایه حساس(حس کننده) به طور تنظیم شده است بهSENSOR_PIN, که به پایه دیجیتال ۲ اختصاص داده شده است و پایه ریلی تنظیم شده است بهRELAY_PIN، به پایه دیجیتال ۴ اختصاص داده شده است. این پیکربندی به ما اجازه میدهد تا خروجی حساس(حس کننده) را بخوانیم و ریلی را به همین ترتیب کنترل کنیم.
const int SENSOR_PIN = 2; // the Arduino pin connected to the output of the sensor
const int RELAY_PIN = 4; // the Arduino pin which is connected to control the relay
در setup()در این تابع، ما نمایشگر مسلسل را برای دیباگ کردن inicializamos و حالت پایهها را برای حساس(حس کننده) و پایههای ریلی تنظیم میکنیم. این اطمینان میدهد که آردوینو میداند کدام پایهها ورودی و کدام خروجی هستند.
void setup() {
Serial.begin(9600); // setup Serial Monitor to display information
pinMode(SENSOR_PIN, INPUT); // Define SENSOR_PIN as Input from sensor
pinMode(RELAY_PIN, OUTPUT); // Define RELAY_PIN as OUTPUT for relay
}
در حینloop()در این تابع، ما به طور مداوم وضعیت حساس(حس کننده) حرکت را بررسی میکنیم. اگر حرکتی شناسایی شود، پیغامی را به نمایشگر مسلسل چاپ میکنیم و ریلی را با تنظیم آن به حالت پایین روشن میکنیم. اگر حرکتی شناسایی نشود، پیغام متفاوتی چاپ میکنیم و ریلی را با تنظیم آن به حالت بالا خاموش میکنیم.
void loop() {
int motion = digitalRead(SENSOR_PIN); // read the sensor pin
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);
}
ممنوعیت / چه انتظاری باید داشت
زمانی که حساس(حس کننده) حرکتی حرکت را تشخیص میدهد، ریلی فعال خواهد شد و اجازه میدهد تا جریان به بار متصل، مانند لامپ AC، منتقل شود. شما باید بلافاصله پس از تشخیص حرکت، روشن شدن لامپ را ببینید. اگر حساس(حس کننده) هیچ حرکتی را تشخیص ندهد، لامپ خاموش باقی خواهد ماند. به یاد داشته باشید که تنظیمات حساسیت حساس(حس کننده) بر دامنه تشخیص آن تأثیر میگذارد، بنابراین ممکن است برای عملکرد بهینه، تنظیماتی لازم باشد (در ویدئو در 05:00).
اشتباهات رایج شامل سیمکشی نادرست یا تجاوز از محدودیتهای جریان ریلی است که میتواند منجر به شکست شود. اطمینان حاصل کنید که همه اتصالات ایمن هستند و قبل از استفاده نهایی، راهاندازی را در یک محیط کنترلشده آزمایش کنید.
برچسبهای زمانی ویدئو
- ۰۰:۰۰ شروع
- 00:35 سختافزار توضیح داده شده
- 04:35 مشخصات توان ریلی
- 06:00 توضیحات درباره سیمکشی
- شِفر (کود) آردوینو توضیح داده شده 07:53
- :48 نمایش این پروژه
مواردی که ممکن است به آنها نیاز داشته باشید
-
ایبی
-
علیاکسپرسحساس(حس کننده) حرکتی HC-SR501 HC-SR505 HW-MS03 را از علی اکسپرس خریداری کنیدs.click.aliexpress.com
منابع و مراجع
هنوز هیچ منبعی موجود نیست.
فایلها📁
هیچ فایلی موجود نیست.