شِفر (کود) آردوینو و ویدیو برای ماجیول حساس(حس کننده) نور با ریلی
در این آموزش، ما یاد میگیریم چگونه از یک ماجیول حساس(حس کننده) نور برای کنترل یک چراغ AC استفاده کنیم. این پروژه باعث میشود چراغ بهطور خودکار وقتی تاریک است روشن و وقتی روشنایی افزایش مییابد خاموش شود. این امر بهویژه برای کاربردهایی مانند روشنایی بیرونی یا چراغهای گاراژ مفید است. تا پایان این آموزش، یک سیستم عملی خواهید داشت که میتواند نور را بر اساس شرایط محیطی بهطور مؤثر مدیریت کند. (در ویدیو در 02:15)

ما از یک ماجیول حساس(حس کننده) نور استفاده خواهیم کرد که شامل یک مقاومت وابسته به نور (LDR) برای تشخیص شدت نور و یک ریلی برای کنترل چراغ AC است. در این سیستم همچنین یک پتانسیومتر برای تنظیم حساسیت تشخیص نور تعبیه خواهد شد. این پیکربندی امکان کنترل دیجیتال و آنالوگ چراغ را بر اساس نور محیطی که توسط حساس(حس کننده) تشخیص داده میشود فراهم میآورد. برای توضیح دقیقتر، به ویدیو در 04:30 مراجعه کنید.
شرح سختافزار
اجزای اصلی این پروژه ماجیول حساس(حس کننده) نور، ریلی و آردوینو هستند. ماجیول حساس(حس کننده) نور از یک LDR تشکیل شده است که بر اساس شدت نور مقاومت آن تغییر میکند و خروجی دیجیتال یا آنالوگ ارائه میدهد. ریلی بهعنوان یک کلید عمل میکند که میتواند یک چراغ جریان متناوب (AC) با ولتاژ بالا را کنترل کند در حالی که بهطور ایمن توسط آردوینو با ولتاژ پایین راهاندازی میشود. این جداسازی برای ایمنی و عملکرد صحیح حیاتی است.
ریلی سه پایه اصلی دارد: مشترک (COM)، معمولاً باز (NO) و معمولاً بسته (NC). وقتی فعال میشود، ریلی پایه مشترک را به پایه معمولاً باز متصل میکند و اجازه میدهد جریان از طریق چراغ متصل عبور کند. این مکانیزم به ریلی امکان میدهد تا بر اساس سیگنالهای دریافتی از آردوینو چراغ را کنترل کند.
جزئیات دیتاشیت
| تولیدکننده | عمومی |
|---|---|
| شماره قطعه | ماجیول حساس(حس کننده) نور |
| ولتاژ منطق/ورودی-خروجی | 5 V |
| ولتاژ تغذیه | ۵ ولت |
| جریان خروجی (به ازای هر کانال) | 10 mA |
| جریان پیک (به ازای هر کانال) | 20 میلیآمپر |
| راهنمای فرکانس PWM | مربوط نیست |
| آستانههای منطقی ورودی | 2.5 V (بالا) / 0.8 V (پایین) |
| افت ولتاژ / Rدرین-سورس (روشن)/ اشباع | 0.2 V معمولی |
| محدودیتهای حرارتی | 85 درجه سانتیگراد |
| بسته | ماجیول |
| یادداشتها / واریانتها | شامل پتانسیومتر برای تنظیم حساسیت |
- اطمینان حاصل کنید که حرارت ریلی بهطور مناسب دفع شود.
- برای ورودی حساس(حس کننده) نور از یک مقاومت پولآپ استفاده کنید.
- قبل از اتصال دستگاههای AC، مشخصات ولتاژ را بررسی کنید.
- هنگامی که سیستم روشن است از لمس سیمهای لخت خودداری کنید.
- پتانسیومتر را برای حساسیت نوری موردنظر تنظیم کنید.
دستورالعملهای سیمکشی

برای سیمکشی ماجیول حساس(حس کننده) نور و ریلی به آردوینو، با اتصال پایه VCC ماجیول حساس(حس کننده) نور به پایه 5V روی آردوینو شروع کنید. سپس پایه زمین حساس(حس کننده) نور را به یکی از پایههای GND آردوینو متصل کنید. پایه خروجی دیجیتال حساس(حس کننده) نور باید به پایه 2 آردوینو وصل شود، در حالی که پایه خروجی آنالوگ برای خوانشهای آنالوگ به A0 متصل میشود.
حال برای ریلی، پایه VCC آن را به پایه 5V روی آردوینو و پایه گراند آن را به GND وصل کنید. پایه ورودی ریلی را به پایه 9 روی آردوینو متصل نمایید. در نهایت، یکی از سیمهای چراغ AC خود را به پایه مشترک (COM) ریلی و سیم دیگر را به پایه معمولاً باز (NO) وصل کنید. این پیکربندی به ریلی اجازه میدهد تا بر اساس خوانشهای حساس(حس کننده) نور، چراغ AC را کنترل کند.
نمونههای شِفر (کود) و راهنمای گامبهگام
در شِفر (کود) دیجیتال پایه برای حساس(حس کننده) نور، ما پایهها را برای حساس(حس کننده) و ریلی تعریف میکنیم. تابع setup ارتباط سریال را مقداردهی اولیه میکند و حالتهای پایه را تنظیم میکند:

#define LIGHT 2 // define pin 2 for sensor
#define RELAY 9 // define pin 9 as for relay
void setup() {
Serial.begin(9600); // setup Serial Monitor
pinMode(LIGHT, INPUT_PULLUP); // define pin as Input sensor
pinMode(RELAY, OUTPUT); // define pin as OUTPUT for relay
}
این شِفر (کود) پایه 2 را بهعنوان ورودی برای خواندن حساس(حس کننده) نور و پایه 9 را بهعنوان خروجی برای کنترل ریلی تنظیم میکند. نمایشگر مسلسل نیز مقداردهی اولیه میشود تا بازخوردی درباره وضعیت نور ارائه دهد.
درون تابع loop، بهطور پیوسته وضعیت حساس(حس کننده) را میخوانیم:
int L = digitalRead(LIGHT); // read the sensor
if (L == 1) {
Serial.println(" light is ON");
digitalWrite(RELAY, LOW); // turn the relay ON
} else {
Serial.println(" === light is OFF");
digitalWrite(RELAY, HIGH); // turn the relay OFF
}
این منطق وضعیت حساس(حس کننده) نور را بررسی میکند و مطابق با آن ریلی را روشن یا خاموش میکند و از طریق نمایشگر مسلسل بازخورد ارائه میدهد.
در شِفر (کود) آنالوگ پیشرفته، روشی را برای خواندن مقادیر از خروجی آنالوگ میگنجانیم:
if (digital == true) {
int L = digitalRead(LIGHT); // read the sensor
if (L == 1) {
Serial.println(" light is ON");
digitalWrite(RELAY, LOW); // turn the relay ON
} else {
Serial.println(" === light is OFF");
digitalWrite(RELAY, HIGH); // turn the relay OFF
}
} else {
int a0Value = analogRead(A0); // read A0 value
if (a0Value >= LightValue) {
Serial.print(analogRead(A0));
Serial.println(" Light is ON");
digitalWrite(RELAY, LOW); // turn the relay ON
} else {
Serial.print(analogRead(A0));
Serial.println(" === light OFF");
digitalWrite(RELAY, HIGH); // turn the relay OFF
}
}
این بخش امکان تنظیم حساسیت را بر اساس مقدار آنالوگ خواندهشده از حساس(حس کننده) نور فراهم میکند و کنترل بیشتری بر آستانههای فعالسازی نور ارائه میدهد.
نمایش / آنچه باید انتظار داشته باشید
وقتی راهاندازی کامل شد و دستگاه روشن شد، چراغ باید در شرایط نور کم روشن شود و در شرایط نور زیاد خاموش شود. میتوانید سیستم را با پوشاندن حساس(حس کننده) نور برای شبیهسازی تاریکی آزمایش کنید و فعال شدن ریلی را مشاهده کنید. اگر بهدرستی پیکربندی شده باشد، نمایشگر مسلسل بسته به خوانشهای حساس(حس کننده) عبارت «چراغ روشن است» یا «چراغ خاموش است» را نمایش میدهد. مراقب معکوس کردن قطبیت هنگام اتصال چراغ AC باشید، زیرا این میتواند باعث اختلال در عملکرد یا خطرات ایمنی شود (در ویدیو در 10:00).
برچسبهای زمانی ویدیو
- 00:00مقدمهای بر پروژه
- 02:15مروری بر قطعات و سیمکشی
- 04:30توضیح شِفر (کود)
- 10:00نمایش عملکرد
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازون
منابع و مراجع
هنوز هیچ منبعی موجود نیست.
فایلها📁
فایل Fritzing
-
LDR light sensor module black
application/zip0.01 MB