راه اندازی سنسور تشخیص نور

  • مدرس: علی بیگدلی
  • تاریخ انتشار: Aug 25, 2020

برای تشخیص شدت نور یا تاریکی، ما از یک حسگر به نام LDR (مقاومت مقاوم در برابر نور) استفاده می کنیم. LDR یک نوع خاص از مقاومت است که اجازه می دهد ولتاژ بالاتر از طریق آن عبور (مقاومت کم) هر زمان که شدت بالا از نور وجود دارد، و عبور از یک ولتاژ پایین (مقاومت بالا) هر زمان آن تاریک است. ما می توانیم از این ویژگی LDR استفاده کنیم و از آن در پروژه حسگر Arduino LDR DIY استفاده کنیم. چگونه کار می کند؟ این سیستم با اندازه گیری شدت نور در محيط آن کار می کند. سنسور که می تواند برای تشخیص نور استفاده شود یک LDR است. این ارزان است، و شما می توانید آن را از هر فروشگاه الکترونیک محلی و یا آنلاین خریداری کنید. LDR ولتاژ آنالوگ را هنگامی که به VCC متصل می شود (5V) می دهد، که در مقیاس بزرگ به طور مستقیم با شدت نور ورودی آن متفاوت است. به این ترتیب، هرچه شدت نور افزایش یابد، ولتاژ مربوطه از LDR بیشتر خواهد شد. از آنجا که LDR ولتاژ آنالوگ را می دهد، آن را به پین ورودی آنالوگ به Arduino وصل می کند. Arduino با مبدل آنالوگ به دیجیتال ADC ساخته شده است و سپس ولتاژ آنالوگ (از 0-5V) را به مقدار دیجیتالی در محدوده 0-1023 تبدیل می کند. هنگامی که نور کافی در محیط و یا روی سطح آن وجود دارد، مقادیر دیجیتال تبدیل شده از LDR از طریق Arduino در محدوده 800 تا 1023 خواهد بود. علاوه بر این، ما سپس برنامه Arduino را برای روشن کردن یک رله برنامه ریزی می کنیم. به همین ترتیب، دستگاه (لامپ) را روشن کنید، وقتی شدت نور کم است (این را می توان با پوشش سطح LDR با هر شیء انجام داد)، یعنی زمانی که مقادیر دیجیتال خوانده شده در محدوده بالاتر از حد معمول است. اتصالات سنسور آرودنو LDR اول، شما باید LDR را به پین ورودی آنالوگ در Arduino وصل کنید. برای انجام این کار باید از پیکربندی تقسیم ولتاژ استفاده کنید. نمودار اتصال برای آردوینو همانطور که در زیر آمده است. شماتیک اتصالات:

قطعه کد:

int sensorPin = A0; // select the input pin for LDR

int sensorValue = 0; // variable to store the value coming from the sensor
void setup() {
Serial.begin(9600); //sets serial port for communication
}
void loop() {
sensorValue = analogRead(sensorPin); // read the value from the sensor
Serial.println(sensorValue); //prints the values coming from the sensor on the screen

delay(100);

}

 

ثبت دیدگاه
نام *
ایمیل*
دیدگاه *
5دیدگاه
  • Esmaeil
    7 months, 1 week ago

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

  • علیرضا کنعانی
    2 years, 2 months ago

    سلام استاد عزیز
    ممنون بابت آموزشتون
    خیلی راهنمایی و کمکم کرد
    میشه لطفا راه اندازی برد آردوینو با ماژول سیم کارت و یا با شیلدآردوینو gsm sim800c رو آموزش بدین و کد هاشو بنویسید

    • علی بیگدلی
      2 years, 2 months ago

      لطف داری ولی من استاد نیستم فقط مهندس و توسعه دهنده هستم
      دوره مقدماتی برای آشنایی بود اما یه دوره ارتباطات برای arduino در نظر گرفته شده که به مرور در حال تکامل هستش

    • علیرضا کنعانی
      2 years, 2 months ago

      ممنون آقای بیگدلی

    • علی بیگدلی
      2 years, 2 months ago

      خواهش می کنم ، واقعیت امر این هستش که پیگیر هستیم ولی هیچ کمک و پشتیبانی نداریم و برای همینم روال آروم پیش میره