반응형
라즈베리파이를 이용하여 RGB LED를 색상별로 소등, 점등하는 방법, 그리고 시간대별로 조정하는 방법에 대해 알아보도록 하겠습니다.
준비물 : Raspberry Pi, RGB LED, 점퍼 와이어
LED와 라즈베리파이 연결 : RGB LED 핀 중 Ground핀은 ground와 Red, Blue, Green 핀은 GPIO 핀과 연결
연결 후 GPIO의 핀 번호를 작성합니다.
ex) Red : GPIO 17, Green : GPIO 27, Blue : GPIO 22
코드 작성
먼저 필요한 라이브러리를 설치합니다.
pip install RPi.GPIO
이후 라즈베리파이 터미널을 연 후 test.py 파일을 제작하고 test.py 파일 안에 아래와 같은 코드를 작성합니다.
import RPi.GPIO as GPIO
import time
# GPIO 설정
GPIO.setmode(GPIO.BCM)
# RGB 핀 설정
RED = 17
GREEN = 27
BLUE = 22
GPIO.setup(RED, GPIO.OUT) # GPIO 17번을 RED의 출력으로 설정합니다.
GPIO.setup(GREEN, GPIO.OUT) # GPIO 27번을 GREEN의 출력으로 설정합니다.
GPIO.setup(BLUE, GPIO.OUT) # GPIO 22번을 BLUE의 출력으로 설정합니다.
# LED 제어 함수
def turn_on(color):
if color == 'RED': # RED 실행시 1초 동안 점등 후 소등
GPIO.output(RED, True)
time.sleep(1)
GPIO.output(RED, False)
elif color == 'GREEN': # GREEN 실행시 1초 동안 점등 후 소등
GPIO.output(GREEN, True)
time.sleep(1)
GPIO.output(GREEN, False)
elif color == 'BLUE': # BLUE 실행시 1초 동안 점등 후 소등
GPIO.output(BLUE, True)
time.sleep(1)
GPIO.output(BLUE, False)
# 메인 함수
try:
while True: # R, G, B를 1초 단위로 켠다.
turn_on('RED')
time.sleep(1)
turn_on('GREEN')
time.sleep(1)
turn_on('BLUE')
time.sleep(1)
finally:
GPIO.cleanup() # 모두 끈다.
Raspberry Pi의 GPIO를 이용하면 다양한 전자 부품을 제어할 수 있습니다. 이를 확장하여 여러 프로젝트에서 다양한 응용이 가능하니, 창의력을 발휘하여 멋진 작품을 만들어 보시길 바랍니다
반응형
'라즈베리 파이' 카테고리의 다른 글
[라즈베리 파이] 라즈베리파이를 이용하여 스마트폰 카메라 움직임 감지 장치 만들기(CCTV) (0) | 2023.09.04 |
---|