سنسور نور با پایتون
ماژول سنسور نور به LDR (مقاومت وابسته به نور) مجهز است. LDR مقاومت متغیری دارد که با شدت نوری که بر آن وارد می شود تغییر می کند. که اجازه می دهد تا قطعه شدت نور محیط را اندازه گیری کند.
مقاومت LDR با افزایش شدت نور کاهش می یابد. این امر منجر به ایجاد یک سیگنال آنالوگ می شود که برای پین های GPIO Raspberry Pi ما مناسب نیست. به همین دلیل ما از یک ماژول مجهز به LDR البته با یک مقایسه کننده ولتاژ و یک پتانسیومتر نیز استفاده می کنیم. این م componentsلفه ها به ما امکان می دهد یک خروجی دیجیتال با یک نقطه تنظیم قابل تنظیم داشته باشیم:
شدت نور > نقطه تنظیم: خروجی = کم
شدت نور < نقطه تنظیم: خروجی = زیاد
سیگنال خروجی پین "DO" می تواند مستقیماً به یک پین GPIO Raspberry Pi ما متصل شود. ولتاژ کاری ماژول 3.3 ولت 5 ولت است.
بعضی از ماژول های حسگر نور دارای پین چهارم هستند ، که برای اتصال و خواندن وضعیت آنالوگ پایه ها نیاز به اضافه کردن ماژولی به رزبری پای برای تبدیل سیگنال می باشد تا بتوان خروجی غیر از 0 و1 را دریافت کرد.
نمونه ماژول سنسور نور را در تصویر زیر می بینید که قابلیت استفاده بدون در نظر گرفتن ماژول واسط را توس رزبری پای دارد.
و اما برای استفاده از این ماژول شماتیک اتصالات زیر را انجام داده و یا اینکه پایه ها را بر اساس نیاز خود تغییر دهید که شامل تغییر در کد نیز می شود.
قطعه کد تست برای گرفتن خروجی روشنایی و تاریکی در محیط با استفاده از ماژول سنسور نور LDR
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
LIGHT_PIN = 23
GPIO.setup(LIGHT_PIN, GPIO.IN)
lOld = not GPIO.input(LIGHT_PIN)
print('Starting up the LIGHT Module (click on STOP to exit)')
time.sleep(0.5)
while True:
if GPIO.input(LIGHT_PIN) != lOld:
if GPIO.input(LIGHT_PIN):
print ('\u263e')
else:
print ('\u263c')
lOld = GPIO.input(LIGHT_PIN)
time.sleep(0.2)