در آموزش راه اندازی LDR با آردوینو شما یاد میگیرید که چطور یک فتوسل نوری را راه اندازی کنیم و بسته به مقدار اندازه گیری شده توسط سنسور LDR یک LED را کنترل کنیم، علاوه بر این برای بررسی آسان تر تمام مقادیر دریافتی در مانیتور سریال آردوینو نمایش داده می شود.
مقاومت نوری چیست
سنسور LDR در اصل نوعی مقاومت نوری است که مقدار آن وابسته به تغییرات شدت نور تابیده شده به سطح آن است. به این صورت که اگر مقاومت تابع نور در فضای تاریک باشد، مقاومت آن خیلی زیاد می شود (در حد مگا اهم ) اما اگر در محیطی روشن باشد، مقاومت آن کم میشود ( در حد کیلو یا اهم ) .
همانطور که پیش تر گفتیم شما می توانید از این مقاومت در مدارات الکترونیکی مانند سیستم های پرورش گیاهان، کلیدهای نوری و … که به سنجش نور محیط نیاز دارند، استفاده کنید.
در دنیای الکترونیک به مقاومت تابع نور، علاوه بر “مقاومت تابع نور” سلول نوری نیز می گویند.
برای اینکه نور روی عنصر مقاومتی فتورزیستور اثر گذارد معمولا سطح ظاهری آن را با شیشه یا پلاستیک شفاف می پوشانند .
خب حالا که تا حدودی با ساختار LDR و کاربرد های آن آشنا شدید بریم سراغ بستن مدار و نوشتن کدهای پروژه راه اندازی LDR با آردوینو.
لیست قطعات آموزش راه اندازی LDR با آردوینو
شماتیک راه اندازی LDR با آردوینو
نکته: یک مقاومت۱۰ کیلو اهمی با فتوسل سری کنید و از پایه مشترک بین فتوسل و مقاومت به ورودی آنالوگ آردوینو متصل کنید. در واقع در اینجا از قانون تقسیم ولتاژ و مقاومت استفاده کرده ایم، اگر نیاز به آموزش بیشتر درباره این قوانین و نحوه استفاده از آنها دارید، در ادامه توضیح داده شده
اگر دوست دارید مدار بالا شبیه سازی کنید میتوانید کتابخانه پروتئوس آردوینو Uno از قسمت زیر تهییه کنید.
تقسیم ولتاژ یا تقسیم مقاوتی برا گرفتن خروحی ADC از سنسور استفاده میشود.
برای محاسبه جریان الکتریکی در یک سنسور LDR (Light Dependent Resistor)، از قانون تقسیم ولتاژ و مقاومت استفاده میکنیم. قانون اهم (Ohm’s Law) بیان میکند که جریان (I) برابر با تقسیم ولتاژ (V) بر مقاومت (R) در یک مدار الکتریکی است:
I = V / R
در مورد سنسور LDR، مقاومت آن به وابستگی به نور محیطی تغییر میکند. برای محاسبه جریان مورد نیاز است که ولتاژ و مقاومت مرتبط با سنسور را داشته باشیم.
مقاومت سنسور LDR: ابتدا مقاومت سنسور LDR در شرایط نوری محیطی را اندازهگیری کنید. این مقدار ممکن است در دیتاشیت سنسور LDR مشخص شده باشد یا با استفاده از اهممتر باسمنتر (یا اهممتر) اندازهگیری شود. برای مثال، فرض کنید مقاومت سنسور LDR در شرایط نوری معمولی 1000 اهم باشد (R_LDR).
ولتاژ منبع: مقدار ولتاژ منبع برق که به سنسور LDR وصل شده است را داشته باشید. معمولاً این ولتاژ یک ولتاژ ثابت است، در اینجا 5 ولت آردوینو (V_Source).
مقاومت سری: مقاومت سری با سنسور LDR را به منظور محاسبه جریان در مدار در نظر بگیرید. مقاومت سری میتواند شامل مقاومتهای دیگری نیز باشد که به سنسور LDR متصل هستند. برای مثال، فرض کنید مقاومت سری با مقدار 1000 اهم (R_Series) باشد.
حالا با داشتن این اطلاعات، میتوانید جریان الکتریکی را با استفاده از قانون اهم محاسبه کنید:
I = (V_Source) / (R_LDR + R_Series)
مقدار I که جریان الکتریکی است، به شما نشان میدهد که در شرایط نوری محیطی و با مقاومت معین سنسور LDR و مقاومتهای سری موجود، چه مقدار جریان در مدار جاری میشود. این اطلاعات میتواند در تحلیل و کنترل مدارهای الکتریکی مورد استفاده قرار گیرد.
دستورات آموزش راه اندازی LDR با آردوینو
بعد از یادگیری نحوه سیم کشی مدار در برنامه پروتئوس، نوبت میرسه به نوشتن کد های برنامه کنترل نور محیط با آردوینو، در ابتدا من سورس کامل برنامه براتون میزارم و در ادامه خط به خط توضیح خدمتتون میدم.
const int LDRPin = A0 ;
const int ledPin = 9;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600) ;
}
void loop() {
int sensorValue = analogRead(LDRPin);
Serial.print("LDR Value: ");
Serial.println(sensorValue);
int threshold = 500;
if (sensorValue < threshold) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
delay(1000) ;
}
همونطور که قبلا قول دادیم، در ادامه آموزش تک تک دستورات رو بطور کامل شرح میدم خدمتتون.
قسمت ابتدایی برنامه پیش از تابع void setup :
در این قسمت مشخص می کنیم که هر یک از پایه های آردوینو به چه کاری اختصاص داده شده اند.
پین A0 آردوینو به سنسور LDRمتصل میشود.
const int LDRPin = A0;
پین 9 آردوینو به سنسورLED متصل میشود.
const int ledPin = 9;
مشخص کردن وضعیت پایه ها :
با این دستور پایه ی متصل به LED را خروجی می کنیم.
pinMode(ledPin, OUTPUT);
با این دستور پایه ی متصل به LDR را ورودی می کنیم.
pinMode(LDRPin,INPUT);
دستورات حلقه void loop :
void loop()
خواندن مقدار سنسور LDR
int sensorValue = analogRead(LDRPin);
عبارت” LDR Value: ” را در پورت سریال آردوینو چاپ کن!
Serial.print("LDR Value: ");
مقدار بدست آمده از سنسور LDR را جلوی عبارت” LDR Value: ” را در پورت سریال آردوینو نمایش بده.
Serial.println(sensorValue);
تعیین شدت نوری که در آن LED روشن می شود.
int threshold = 500;
اگر مقدار LDR کمتر از threshold شد، LED روشن شود.
if (sensorValue < threshold) }
digitalWrite(ledPin, HIGH);
{
اگر مقدار LDR بیشتر از threshold شد، LED خاموش شود.
else }
digitalWrite(ledPin, LOW);
{
تاخیر 1 ثانیه برای جلوگیری از مشاهدهی سریع تغییرات
delay(1000) ;
}
در پروژه گفته شده دانشتیم که LDR چیست و طریقه راه اندازی آن را با آردوینو چگونه است و به عنوان مثال می توان ازش واسه روشن کردن اتوماتیک یک وسیله الکتریکی مناسب با نور محیط استفاده کرد . (با استفاده یک رله به جای ال ای دی ها ). ویا میشه ربات تعقیب کننده نور ساخت و…
اگر سوالی در مورد کد ها یا بستن مدار داشتید میتونید در بخش پرسش پاسخ همین آمورش بنویسید ما هم سریع ترین زمان ممکن به شما پاسخ خواهیم داد
امیدوارم از آموزش راه اندازی LDR با آردوینو لذت برده باشید و به کمک اون بتونید سیستم های کنترل روشنایی هوشمند خودتون رو بسازید ????
_________ _________
باکس دانلود
راهنمای دانلود :
- برای دانلود فایل های پیوستی ابتدا در حساب کاربری خود ورود یا ثبت نام کنید.
- در صورت عدم دانلود فایل پیوست شده می توانید در قسمت گزارش خرابی لینک دلیل عدم دانلود را شرح دهید و از ما امتیاز دریافت کنید .
- تمامی فایل های پیوست شده متعلق به سایت ربات افزار می باشد و نشر آن به هر نحوه، قانونی و شرعی اشکال دارد.