آموزش راه اندازی LDR با آردوینو

در این قسمت میخوایم راه اندازی ldr با آردوینو را کار کنیم و یا بطور ساده تر یه LDRرو به ورودی آنالوگ آردوینو وصل کنیم  و با خوندن مقدار اون سه تا ال ای دی روشن بشن . خب برای وصل کردن سنسور فتوسل یا همون LDRبه پایه آنالوگ آردوینو باید اون رو با یک مقاومت 10 کیلو سری کنین . مثل شکل زیر:

آموزش راه اندازی ldr با آردوینو

عکس زیر هم که خیلی ساده هست :

آموزش راه اندازی ldr با آردوینو

خب همونطور که میدونین فتوسل یک مقاومت متغییر نسبت به نور هست

یعنی هر چی نور بیشتر باشه مقاومت اون کمتره و هر چی تاریک تر باشه مقاومت بیشتر.

وقتی فتوسل رو که با یک مقاومت ده کیلو سری میکنید یک تقسیم ولتاژ مقاومتی رو تشکیل میدین که هر چی تاریک تر میشه ولتاژ دو سر فتوسل بیشتر میشه

خب ما از این خصوصیت میایم تو آردوینو استفاده میکنیم و میزان روشنایی رو با سه عدد ال ای دی نمایش میدیم

مدار رو مانند شکل زیر ببندین

آموزش راه اندازی ldr با آردوینو

 

خب میرسیم به برنامه نویسی آردوینو
int ledPin1 = 2;          // LED 1
int ledPin2 = 3;         // LED 2
int ledPin3 = 4;         // LED 3
int photocellPin = A0;     
int photocellReading;     
 
void setup(void) {
  // برای اینکه مقدار خوانده شده آنالوگ را ببینیم از سریال مانیتور استفاده میکنیم
  Serial.begin(9600);
  pinMode(ledPin1, OUTPUT);  // Set LED 1 to be Output                                        خروجی قرار دادن ال ای دی ها
  pinMode(ledPin2, OUTPUT);  // Set LED 2 to be Output
  pinMode(ledPin3, OUTPUT);  // Set LED 3 to be Output
}
 
void loop(void) {
  photocellReading = analogRead(photocellPin);    // مقدار خوانده شده آنالوگ را درون متغییر میریزد
 
  Serial.print("Analog reading = ");
  Serial.print(photocellReading);     // مقدار آنالوگ را در سریال مانیتور نشان میدهد
 
  // 

   if (photocellReading < 150) {

Serial.println(" - Dark");

digitalWrite(ledPin1,HIGH);

digitalWrite(ledPin2,LOW);

digitalWrite(ledPin3,LOW);

} else if (photocellReading < 550) {

Serial.println(" - Light");

digitalWrite(ledPin2,HIGH);

digitalWrite(ledPin1,LOW);

digitalWrite(ledPin3,LOW);

} else if (photocellReading < 900) {

Serial.println(" - Bright");

digitalWrite(ledPin3,HIGH);

digitalWrite(ledPin1,LOW);

digitalWrite(ledPin2,LOW);

} else {

Serial.println(" - Very bright");}

//delay(1000);

}
//Melec.ir

خب در مورد قسمت اصلی برنامه که از دستور if استفاده شده باید بگم که اول اومدم گفتم اگر مقدار آنالوگ از 150 کمتر بود ال ای دیه اول رو روشن کن و بقیه رو خاموش کن

مطلب پیشنهادی:  راه اندازی سنسور دما LM35 با آردوینو

اگه از 550 کمتر بود ال ای دیه شماره 2 رو روشن کن و بقیه رو خاموش کن

و اگه از 900 کمتر بود ال ای دیه شماره 3  رو روشن کن و بقیه رو خاموش کن

مقدار آنالوگ هم توی جلسه قبل گفتم که از 0 تا 1023 هست . و شما میتونین با باز کردن سریال مانیتور مقدار رو ببینین

مداری که خودم روی برد بورد بستم

آموزش راه اندازی ldr با آردوینو

حالا میخوام بگم کاربرد این مدار چیه :  مثلا میشه ازش واسه روشن کردن اتوماتیک یک وسیله الکتریکی متاسب با نور محیط استفاده کرد . (با استفاده یک رله به جای ال ای دی ها ). یا میشه ربات تعقیب کننده نور ساخت  و…

اگر هر سوالی داشتین در قسمت نظرات مطرح کنین .

مرسی از اینکه به این مطلب راه اندازی ldr با آردوینو توجه کردین.

آموزش های آردوینو را در اینجا بخوانید.

دیگر جلسات این آموزش

مطلب پیشنهادی:  اتصال کلید فشاری به آردوینو

درباره ی محمد امین امیری

سلام . محمد امین امیری هستم . داشنجوی کارشناسی تکنولوژی کنترل ابزار دقیق و علاقمند به آردوینو . امیدوارم از مطالب بنده استفاده مفید ببرید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

4 دیدگاه

  1. این کدی که گذاشتین کامپایل میکنم ارور میده

  2. فوتوسل استفاده شده باید از کدوم نوع باشه؟ و اینکه ال ای دی با مقاومت چنداهمی تو مدار سری شده

    • سلام، فتوسل خاصی نیست و توی بازار بگین فتوسل یا اگر آنلاین خرید میکنید بزنید فتوسل میتونید ببا شکلش تشخیص بدید و تفاوت چندانی ندارن فقط در مقدار اهمی که 10 کیلواهم بگیرید خوبه. مقاومت های سری شده با ال ای دی ها هم میتونن از 220 اهم تا 1000 اهم باشن ولی اگر خیلی حرفه ای میخواهید نگاه کنید به داستان میتونید بشینید و حساب کتاب کند نسبت به برد آردوینو ای که دارید و ال ای دی که استفاده میکنید. ولی در این نوع پروژه ها زیاد حساسیت به خروج ندید هم مشکلی پیش نمیاد. ولی گفتم محسابه داره، فردا جایی نگین گفتم مهم نیست 🙂