مقاومتهای تابع نور یا ldr

به مقاومتهایی گفته میشود که در برابر شدت تابش نور حساس بوده و مقدار مقاومتشان تابع نور است به صورتی که با افزایش نور مقدار مقاومتشان کاهش یافته و با کاهش میزان نور تابشی مقدار مقاومتشان افزایش میابد.معمولا مقاومتهایی که در بازار موجود هستند در شدت نور عادی(محیط در روز)مقدار مقاومتشان در حدود ۱ کیلو اهم و در تاریکی مطلق مقدار مقاومتشان بین یک تا دو مگا اهم است.

در این پست ، قصد راه اندازی سنسور فتوسل یا سنسور نور رو با آردوینو دارم. در واقع این سنسور یه مقاومت هست که اگه نور بهش برسه ، مقاومتش کم و درنتیجه ولتاژ خروجی بیشتر میشه و اگه بهش نور نرسه ، مقاومتش زیاد و درنتیجه ولتاژ خروجی کم میشه.

خب حالا قصد داریم این سنسور رو با آردوینو (arduino) راه بندازیم.

وسایل لازم :

  • آردوینو uno – یک عدد
  • سنسور نوری – یک عدد
  • مقاومت ۱۰ کیلو و چند تا سیم

شماتیک پروژه فتوسل :

همونطور که می بینید اومده یه مقاومت ۱۰ کیلو اهمی (ثابت) رو با فتوسل سری کرده و از پایه مشترک بینشون به پین آنالوگ آردوینو داده. منطق این کار همون منطق تقسیم ولتاژ هست.

وقتی مقاومت فتوسل (با تغییر نور ) تغییر می کنه طبق قانون تقسیم ولتاژ ، ولتاژی که روی پایه وسط (مشترک بین مقاومت و فتوسل) می افته هم تغییر می کنه که چون این تغییر به صورت پیوسته هست این پایه وسط رو به پین آنالوگ آردوینو (پین شماره ۰ ) وصل می کنیم.

 

نمونه کد :

int val;
void setup() {
  pinMode(sensor, INPUT);
  Serial.begin(9600);
}
void loop() {
  sensor = analogRead(A0);
  val = map(sensor, 0, 1023, 0, 100);
  Serial.println(val);
  delay(400);
}

معرفی متغییر ها و شروع حلقه ی محدود setup

 

int sensor;
int val;
void setup() {

ورودی قرار دادن متغییر sensor ، مشخص کردن رنج کاری سریال مانیتور برای تبادل اطلاعات و پایان حلقه ی setup

pinMode(sensor, INPUT);
  Serial.begin(9600);
}

شروع حلقه ی نامحدود loop ، و خواندن مقدار ولتاژ اعمال شده روی پین A0 آردوینو (arduino) و ریختن آن درون متغییر sensor

void loop() {
  sensor = analogRead(A0);

تناسب بندی بین مقادیر سنسور بین ۰ تا ۱۰۰ ، نمایش آن روی سریال مانیتور و پایان حلقه ی loop

val = map(sensor, 0, 1023, 0, 100);
  Serial.println(val);
  delay(400);
}

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