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

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

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

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

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

 

آموزش راه اندازی LDR با آردوینو
آموزش راه اندازی 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 کمتر بود ال ای دیه اول رو روشن کن و بقیه رو خاموش کن.

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

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

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

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

 

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

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

 

 

منبع:  میکرودیزاینرالکترونیک

 

مطلب قبلیمبدل آنالوگ به دیجیتال میکروکنترلرهای LPC1768
مطلب بعدیتنظیمات کلاک میکروکنترلرهای PIC در CCS C

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید