ماژول فتوسل شدت نور LDR Sensor Module
ماژول فتوسل شدت نور LDR Sensor Module
اندازه گیری پارامترهای فیزیکی، همواره یکی از مسائل مهم در طراحی سیستم های دیجیتال به شمار می رود. یکی از این پارامترهای مهم و کلیدی، شدت نور محیط است. با اندازه گیری شدت نور محیط، می توان فرایندهای مختلفی را کنترل نمود. ماژول شدت نور LDR Sensor Module، یک ماژول جهت اندازه گیری میزان شدت نور محیط است. به کمک این ماژول می توانید میزان شدت نور محیط را به سادگی اندازه بگیرید.
ماژول فتوسل دارای خروجی دیجیتال است. این خروجی دیجیتال، هر زمان که میزان نور از حدی فراتر رود، فعال می شود. به کمک پتانسیومتر روی برد، می توان حساسیت خروجی دیجیتال را تنظیم نمود. راه اندازی و کار با این سنسور بسیار ساده است. کافیست تغذیه ماژول را متصل کنید. سپس با اتصال خروجی دیجیتال به آردوینو و یا دیگر میکروکنترلرها میتوانید میزان شدت نور محیط را اندازه گیری کنید.
فتوسل یا LDR با قرار گرفتن در یک محیط کاملا تاریک مقاومت آن تا محدوده ۱ مگااهم میرسد. با تابش نور در مقابل سنسور مقاومت آن تا نزدیک به صفر افت پیدا میکند اما در شرایط نرمال تابش نور، مقاومت در کمترین حالت خود به ۸ تا ۲۰ کیلو میرسد.
مشخصات فنی ماژول شدت نور LDR Sensor Module
- ولتاژ کاری 3.3 الی 5 ولت
- دارای خروجی دیگری دیجیتال
- جریان مصرفی در حدود 15 میلی آمپر
- راه اندازی سریع و آسان، بدون نیاز به ابزار جانبی
- دارای پتانسیومتر جهت کنترل حساسیت خروجی دیجیتال
- سازگاری کامل با بردهای آردوینو، ESP و سایر میکروکنترلرها نظیر ARM
- دارای پایه های پین هدری جهت اتصال به بردبوردها، بردهای سوراخدار و چاپی و کابل های فلت
کاربردهای ماژول شدت نور LDRSensor Module
- کنترل و گزارش میزان شدت نور در گلخانه ها
- طراحی و پیاده سازی سیستم های اوتولایت خودروها
- طراحی و پیاده سازی دستگاه های لوکس متر(نور سنج)
- فعال سازی خودکار روشنایی پارکینگ ها و راه پله ها با تاریک شدن هوا
بررسی پایه های ماژول LDR
پایه های ماژول شدت نور LDR به صورت زیر است. بر روی ماژول یک مولتی ترن جهت تنظیم حساسیت سنسور قرار گرفته شده است. با چرخش در جهت ساعتگرد افزایش یافته و پادساعتگرد کاهش مییابد.
راه اندازی سنسور LDR با آردوینو
با توجه به ماهیت سنسور فتوسل از پایههای ADC میکروکنترلر جهت دریافت دیتا و خواندن مقادیر استفاده میشود. که توسط ADC میتوانیم ولتاژ متغیر Variable Voltage تولید کرده و سپس در بازه ۰ تا ۵ ولت DC مقدار عددی سنسور را در هر بازه ولتاژ به دست آورده و بخوانیم که این ولتاژ وابسته به مقاومت سنسور خواهد بود.
یک مقاومت استاتیک بین بازه ۱ تا ۱۰ کیلو مناسب است که مقاومت پیشنهادی ۴٫۷ کیلو و ۱۰ کیلو میباشد. یک سر مقاومت را به یکی از پایه های سنسور و سر دیگر مقاومت را به پایه ۵ ولت پول آپ Pullup کنید. در این آموزش از مقاومت ۴٫۷ کیلو استفاده شده است.
const int Photocell = A0;
const int LED = 13;
const float VCC = 4.98;
const float R_DIV = 4660.0;
const float DARK_THRESHOLD = 10000.0;
void setup()
{
Serial.begin(9600);
pinMode(Photocell, INPUT);
pinMode(LED, OUTPUT);
}
void loop()
{
int lightADC = analogRead(Photocell);
if (lightADC > 0)
{
float lightV = lightADC * VCC / 1023.0;
float lightR = R_DIV * (VCC / lightV - 1.0);
Serial.println("Voltage: " + String(lightV) + " V");
Serial.println("Resistance: " + String(lightR) + " ohms");
if (lightR >= DARK_THRESHOLD)
digitalWrite(LED, HIGH);
else
digitalWrite(LED, LOW);
Serial.println();
delay(500);
}
راه اندازی ماژول LDR با میکروپایتون و ESP32
در این کد، ما از پین GPIO ۳۴ به عنوان ورودی سنسور LDR استفاده میکنیم. با استفاده از حالت Pin.IN، این پین را به عنوان یک ورودی تنظیم میکنیم.همچنین یک ADC (مبدل آنالوگ به دیجیتال) را برای خواندن مقدار آنالوگ از سنسور LDR راهاندازی میکنیم. از کلاس ADC برای ایجاد یک شی ADC استفاده میکنیم و پین ورودی سنسور LDR را به عنوان آرگومان ارسال میکنیم.یک تابع به نام read_ldr() تعریف کردهایم که با استفاده از شی ADC، مقدار سنسور LDR را خوانده و ارزش آن را برمیگرداند.در حلقه اصلی، با فراخوانی تابع read_ldr()، مقدار سنسور LDR را برای چاپ در کنسول به دست میآوریم.
سپس با استفاده از تابع time.sleep()، برای مدت زمان کوتاهی منتظر میمانیم و سپس حلقه را تکرار میکنیم.توجه کنید که تابع time.sleep() با یک آرگومان به عنوان ثانیه فراخوانی میشود، بنابراین time.sleep(0.1) موجب ایجاد تأخیر ۰.۱ ثانیهای در برنامه میشود. شما میتوانید این مقدار را بر اساس نیاز خود تنظیم کنید و به تعداد دفعات مورد نظر برای خواندن سنسور LDR دسترسی پیدا کنید.
from machine import ADC, Pin
import time
# Setup the LDR sensor input pin
ldr_pin = Pin(34, Pin.IN)
# Setup the ADC for reading analog values
adc = ADC(Pin(34))
# Define a function to read the LDR sensor value
def read_ldr():
ldr_value = adc.read()
return ldr_value
# Main loop
while True:
# Read the LDR sensor value
ldr_value = read_ldr()
print("LDR value:", ldr_value)
# Wait for a short period of time
time.sleep(0.1)
راه اندازی ماژول LDR با میکروپایتون و RP2040
در پروژه فتوسل با رزبری پای برنامه نویسی به زبان پایتون و پشتیبانی از میکروپایتون توسط نرم افزار Thonny انجام میشود. قبل از اقدام به هر کاری بایستی نصب میکروپایتون Thonny در ویندوز را انجام دهیم. قبل از اتصال رزبری پای پیکو به سیستم کلید BOOTSEL را نگه داشته و پس از اتصال کابل MICRO USB و اتصال به سیستم دست خود را از کلید بردارید. با اینکار رزبری پای پیکو شناسایی شده و پنجره ی آن باز میشود.
from machine import ADC, Pin
from time import sleep
photocellpin = 26
def readLight(photoGP):
photoResistor = ADC(Pin(26))
light = photoResistor.read_u16()
light = round(light/65535*100,2)
return light
while True:
print("light: " + str(readLight(photocellpin)) +"%")
sleep(1)
مشخصات
- کاربری
- مناسب برای استفاده صنعتی
- نوع ماژول
- آردوینو - Arduino
- ابعاد فیبر
- 14 * 32 میلی متر
- ابعاد
- 30x14mm
- ولتاژ مورد نياز
- 3.3 تا 5 ولت DC
- دمای کاری
- - 20 تا + 85 درجه سانتی گراد
- جریان
- 15 ma
- چاپ مس
- دارای چاپ آبی
- تعداد پایه ها
- دارای 3 پایه به ترتیب DO- GND - VCC
- اقلام همراه محصول
- ندارد
- کشور سازنده
- چین
- وزن
- 3 گرم
- نوع کانکتور
- پین هدر
- کد تجاری
- HL - 01
- پردازنده
- LM393
- سایر توضیحات
- دارای خروجی سوییچینگ دیجیتال 0 و 1دارای PHOTO Resistore
توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.