라즈베리 파이와 KY-033 라인 트래킹 센서로 문 열림/선 감지하기
단일 KY-033 라인 트래킹 센서로 문이 열렸는지 감지하거나 선 통과를 감지하는 방법을 라즈베리 파이로 배워보세요. 다음 가이드는 배선, 설치, 바로 실행 가능한 파이썬 스크립트를 다룹니다.
이 프로젝트 소개
이 간결한 예제는 Elegoo 37-1 센서 키트 v2 (또는 호환 HW-006 v1.2)가 어떻게 단일 센서를 신뢰할 수 있는 문 상태 또는 라인 트래킹 감지기로 바꿀 수 있는지 보여줍니다. 로봇공학, 보안, DIY 자동화 프로젝트에 완벽합니다.
센서를 GPIO에 연결
KY-033은 세 핀이 있습니다: 신호(S), +V, 그라운드(G). 다음과 같이 연결하세요:
- 신호 (S) → GPIO 24 (핀 18)
- +V → 3.3V (핀 1)
- G → GND (핀 6)
시각적 가이드는 회로도를 참조하세요.
소프트웨어 설치
라즈베리 파이에 파이썬이 설치되어 있는지 확인하세요. 그런 다음 다음 Gist에서 샘플 코드를 복제하고 실행하세요.
git clone https://gist.github.com/2299af0b2fbace8994b9fb9e409bc3f5.git
복제된 디렉터리로 이동해 실행:
python tracer.py
센서 아래에 어두운 선이 감지될 때마다 스크립트가 Line detected를 출력합니다. 동작 확인은 여기에서 가능합니다.
배선도

파이썬 코드
아래는 전체 스크립트입니다. GPIO 핀을 설정하고 센서를 읽어 선이 감지되면 메시지를 출력합니다.
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
# 센서의 신호 핀에 연결된 GPIO 핀
GPIO_PIN = 18
GPIO.setup(GPIO_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# 읽기 간격 (초)
delayTime = 0.2
print("#— Hackster project line tracker example —#")
try:
while True:
if GPIO.input(GPIO_PIN) == False:
print("Line detected")
time.sleep(delayTime)
except KeyboardInterrupt:
GPIO.cleanup()
출처: Line tracking sensor with RPi