라즈베리 파이 조도 센서 튜토리얼 – LDR 배선하고 파이썬으로 조도 읽기
이 종합적인 라즈베리 파이 조도 센서 튜토리얼에서는 포토레지스터를 GPIO 핀에 배선하고 간결한 파이썬 스크립트로 데이터를 읽는 과정을 안내합니다. 목표는 회로, 코드, 빛 활성화 알람 시계 같은 실용적 응용에 대한 실전 이해를 돕는 것입니다.
이 프로젝트는 센서 통합을 탐색하려는 초보자에게 이상적이면서, 더 정교한 프로젝트의 기초가 되기도 합니다.
아래에서 구성요소, 단계별 배선, 파이의 디지털 핀을 임시 아날로그 측정 도구로 바꾸는 파이썬 로직을 자세히 설명합니다.
준비물
필요한 모든 것이 여기에 있습니다. 브레드보드는 필수는 아니지만, 특히 추가 실험을 계획 중이라면 조립 과정을 크게 단순화합니다.
권장
라즈베리 파이
8GB SD 카드 또는 파이 2/B+용 마이크로 SD 카드
이더넷 케이블 또는 와이파이 동글
조도 센서(LDR)
1µF 커패시터
선택 사항
라즈베리 파이 케이스
USB 키보드
USB 마우스
GPIO 브레이크아웃 키트
브레드보드
브레드보드 와이어
영상
시각적 학습자를 위해 전체 배선 과정과 실시간 센서 출력을 보여주는 동영상이 준비돼 있습니다. 아래 텍스트에도 동일한 정보가 있습니다.
조도 센서 회로 구성
회로는 의도적으로 단순합니다: LDR, 1µF 커패시터, 단일 GPIO 핀. LDR 저항은 밝은 빛에서 수백 옴, 어둠에서 수 메가옴으로 변합니다. 커패시터의 RC 시정수를 측정해 아날로그 입력 없이도 파이가 조도 수준을 추론할 수 있습니다.
- 핀 #1(3.3V)을 브레드보드 + 레일에 연결.
- 핀 #6(GND)을 브레드보드 - 레일에 연결.
- LDR을 브레드보드에 놓고 한 끝을 + 레일에 연결.
- LDR 다른 끝에서 파이 핀 #7로 와이어 연결.
- 핀 #7에서 온 와이어와 - 레일 사이에 1µF 커패시터 삽입, 음극이 - 레일로 가도록.
아래 다이어그램으로 시각적 레이아웃을 참고하세요. 하드웨어가 준비되면 파이썬 코드가 디지털 핀을 조잡한 아날로그 측정 도구로 변환합니다.
파이썬 코드
아래 스크립트는 커패시터가 공급 전압의 75%까지 충전되는 데 걸리는 시간을 측정합니다. 이 RC 시간은 LDR 저항에 비례해 주변 조도의 대략적 추정치를 제공합니다.
#!/usr/local/bin/python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
# RC 네트워크에 연결된 핀
pin_to_circuit = 7
def rc_time(pin):
count = 0
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, GPIO.LOW)
time.sleep(0.1)
GPIO.setup(pin, GPIO.IN)
while GPIO.input(pin) == GPIO.LOW:
count += 1
return count
try:
while True:
print(rc_time(pin_to_circuit))
except KeyboardInterrupt:
pass
finally:
GPIO.cleanup()
배포 및 실행
라즈비안이 설치된 라즈베리 파이에는 필수 라이브러리가 사전 설치돼 있습니다. 수동 설치가 필요하면:
sudo apt-get update
sudo apt-get install python3-rpi.gpio
저장소 복제 후 스크립트 실행:
git clone https://github.com/pimylifeup/Light_Sensor/
cd Light_Sensor
sudo python3 light_sensor.py
또는 코드를 새 파일에 붙여 light_sensor.py로 저장하고 같은 명령으로 실행하세요.
정확도 향상 및 응용 가능성
LDR은 빠르고 저렴한 솔루션이지만, 제한된 다이내믹 레인지와 온도 민감성으로 정밀 작업에는 부족할 수 있습니다. 더 높은 정확도가 필요한 애플리케이션에는 Adafruit 고다이나믹 레인지 디지털 조도 센서 같은 센서를 고려하세요.
- 빛 활성화 알람: LDR로 일광 증가에 따라 알람 볼륨이 커지는 알람 트리거.
- 정원 일조량 모니터: 정원 구역별 빛 강도 로깅해 심기 결정에 활용.
- 실내 점유 알림: 어두운 방에 예기치 않은 빛 감지 시 알림 전송.
자유롭게 실험하고 RC 네트워크를 조정하거나 더 큰 프로젝트에 센서를 통합해 보세요. 문제나 제안이 있으면 아래 댓글로 남겨주세요.
출처: Raspberry Pi Light Sensor – A Simple LDR Tutorial