코드는 가져다가 잘 실행을 했는데
각각의 의미가 궁금해졌다.
사진 : https://pimylifeup.com/raspberry-pi-light-sensor/
소스코드 : https://github.com/pimylifeup/Light_Sensor
#!/usr/local/bin/python
import RPi.GPIO as GPIO
import time . # sleep 용도
GPIO.setmode(GPIO.BOARD)
# GPIO.BOARD 보드 상의 핀 번호 사용
# GPIO.BCM . 핀번호가 아니라 Broadcom SOC channel을 사용 GPIOXX의 XX 번호를 사용
# 7번 핀을 사용함
pin_to_circuit = 7
def rc_time (pin_to_circuit):
count = 0
#Output on the pin for
GPIO.setup(pin_to_circuit, GPIO.OUT) # 7번 핀을 입력으로 설정
GPIO.output(pin_to_circuit, GPIO.LOW) # 7번 핀의 디지털 출력 설정
# 셋중에 아무거나 골라서 사용
# 1, GPIO.HIGH, True
# 0, GPIO.LOW, False
time.sleep(0.1) # 0.1 sec sleep
# 7번 핀을 input으로 변경
GPIO.setup(pin_to_circuit, GPIO.IN)
# 7번 핀으로부터 읽은 값이 HIGH가 될 때까지 count 수행
# 그래서 실행해보면 센서 주변이 어두울 수록 카운트 값이 크다.
while (GPIO.input(pin_to_circuit) == GPIO.LOW):
count += 1
return count
# 스크립트가 인터럽트 될때 catch하고, 올바르게 cleanp
try:
# 메인 루프
while True:
print rc_time(pin_to_circuit) . # 조도 센서의 값 출력
except KeyboardInterrupt:
pass
finally:
GPIO.cleanup() . # 사용했던 모든 포트에 대해서 정리
라즈베리파이3에 구성했던 회로를 연결하고
위의 스크립트를 실행시키면 ($ python light_sensor.py)
값을 가져온다.
실제 실행할때는 sleep을 0.1 -> 1초로 늦춰서 했다.
아직 점퍼를 구입하지 못해서
유선랜 케이블 조금 잘라서 임시로 사용했다.
GPIO에는 묶어서 연결했는데 쇼트날까봐 아슬아슬하다.
아무래도 MF (male, female)로 구성된 점퍼선을 사서 해야겠다.
아래는 정상동작하는 모습을 촬영한 화면이다.
반응형
'Language > PYTHON' 카테고리의 다른 글
[라즈베리파이3] 블루투스 키보드 자동 연결하기 (8) | 2017.04.05 |
---|---|
[라즈베리파이3] redis 설치하기 (8) | 2017.04.05 |
[라즈베리파이3] 조도 센서를 이용해서 광원 수치 가져오기 (8) | 2017.04.04 |
[라즈베리파이3] NOOBS를 이용하여 OS 설치하기 (Windows7 에서 작업함) (8) | 2017.04.04 |
python3 beautifulsoup 한글 깨짐 (9) | 2017.02.16 |