빨간색 LED가 깜빡여 위험을 알리는 경광등


<준비물>
- 브레드 보드 : 1개
- LED 빨강 : 3개
- 220옴(빨빨갈) 저항 : 3개
- 암/수 점퍼케이블 : 4개


<회로도>



<코드>
from gpiozero import LED
from time import sleep

led1 = LED(16)
led2 = LED(20)
led3 = LED(21)

try:
    while 1:
        led1.on()
        led2.on()
        led3.on()
        sleep(0.1)
        led1.off()
        led2.off()
        led3.off()
        sleep(0.1)
    
except KeyboardInterrupt:
    pass

led1.off()
led2.off()
led3.off()


<코드설명>
위 코드는 gpiozero 라이브러리를 사용하여 3개의 LED를 제어하는 파이썬 프로그램이다. 간단히 설명하면, 세 개의 LED를 빠르게 깜빡이도록 설정한 코드이다.

1. 라이브러리 임포트
from gpiozero import LED
from time import sleep

gpiozero : 라즈베리파이의 GPIO 핀을 쉽게 제어할 수 있는 라이브러리이다. 여기서는 LED 클래스를 이용하여 LED를 제어한다.
time.sleep() : 프로그램 실행을 일시 중지하기 위한 함수로, LED를 켜고 끄는 시간 간격을 조정하는 데 사용된다.

2. LED 핀 설정
led1 = LED(16)
led2 = LED(20)
led3 = LED(21)

각 LED를 라즈베리파이의 GPIO 핀에 연결하고, LED 객체로 설정한다.
led1 : GPIO 핀 16에 연결
led2 : GPIO 핀 20에 연결
led3 : GPIO 핀 21에 연결

3. 메인 루프
try:
    while True:
        led1.on()
        led2.on()
        led3.on()
        sleep(0.1)
        led1.off()
        led2.off()
        led3.off()
        sleep(0.1)
except KeyboardInterrupt:
    pass

while  True : 무한 루프를 사용하여 LED를 계속 깜빡이게 한다.
led1.on(), led2.on(), led3.on() : 각 LED를 켠다.
sleep(0.1) : 0.1초 동안 LED가 켜진 상태로 유지된다.
led1.off(), led2.off(), led3.off() : 각 LED를 끈다.
sleep(0.1) : 0.1초 동안 LED가 꺼진 상태로 유지된다.
try-except : 프로그램을 실행 중 Ctrl+C로 종료할 때 KeyboardInterrupt 예외를 처리하여 루프를 빠져나가도록 한다.

4. 프로그램 종료 시 LED 끄기
led1.off()
led2.off()
led3.off()

프로그램이 종료될 때 모든 LED를 꺼서 안전하게 정리한다.


<요약>
세 개의 LED를 GPIO 핀 16, 20, 21에 연결하여 0.1초 간격으로 켜고 끄는 동작을 반복한다.
사용자가 Ctrl + C를 누르면 프로그램이 종료되며, 종료 시 모든 LED는 꺼진다.


<시연영상>

+ Recent posts