이번 프로젝트에서는 라즈베리파이와 파이썬을 이용해 초음파 센서로 거리를 측정하고, 특정 거리 이하로 접근하면 LED를 자동으로 켜는 시스템을 구현합니다. IoT 기초 실습으로 적합하며, 간단한 경보 장치로 응용할 수도 있어요.

🧰 준비물
- Raspberry Pi 보드
- CNDI 확장보드
- 초음파 센서 (HC-SR04)
- LED (적색 또는 녹색 추천)
- 점퍼 케이블
📥 RPi.GPIO 라이브러리 설치 방법
- 아래 링크에서 GPIO 모듈 다운로드: 🔗 RPi.GPIO 다운로드 페이지
- 터미널 명령어 순서대로 실행:
cd /home/pi/Downloads
tar zxvf RPi.GPIO-0.7.0.tar.gz
cd RPi.GPIO-0.7.0
sudo apt-get install python-dev
sudo python setup.py install
⚡ 하드웨어 연결 구성도


- LED 제어 핀: GPIO 4
- Trigger 핀: GPIO 24
- Echo 핀: GPIO 23
🎬 동작 영상 (YouTube)
💻 Python 제어 코드
import RPi.GPIO as gpio
import time
import sys
import warnings
warnings.filterwarnings('ignore')
LED = 4
TRIGER = 24
ECHO = 23
gpio.setmode(gpio.BCM)
gpio.setup(TRIGER, gpio.OUT)
gpio.setup(ECHO, gpio.IN)
gpio.setup(LED, gpio.OUT)
try:
while True:
gpio.output(TRIGER, gpio.LOW)
time.sleep(0.1)
gpio.output(TRIGER, gpio.HIGH)
time.sleep(0.00002)
gpio.output(TRIGER, gpio.LOW)
while gpio.input(ECHO) == gpio.LOW:
startTime = time.time()
while gpio.input(ECHO) == gpio.HIGH:
endTime = time.time()
period = endTime - startTime
dist_cm = round(period * 17241, 2)
if dist_cm <= 20:
print('👣 가까이 접근! → LED ON')
gpio.output(LED, gpio.HIGH)
time.sleep(1)
gpio.output(LED, gpio.LOW)
time.sleep(1)
print(f"현재 거리: {dist_cm} cm")
except KeyboardInterrupt:
print("프로그램을 종료합니다.")
gpio.cleanup()
sys.exit()
📝 마무리 정리
이 실습은 초음파 거리 측정 원리를 이해하고, 라즈베리파이 GPIO 제어 방법을 익히는 데 효과적입니다. 향후에는 부저나 경고음 추가, 이메일 전송 등 다양한 확장도 가능하니 창의적으로 발전시켜 보세요! ✨