- 색상 참고
- 스위치 누르면 RGB LED색깔 바꾸기
(nputIO == False and count== 0 조건에서 count가 +1되는 순간 그 다음 조건문 실행이 너무 빨라서
time.sleep(1)을 추가하였음.)
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM) #GPIO.BOARD
GPIO.setwarnings(False)
BUTTON= 21
LED_R = 13
LED_G = 19
LED_B = 26
GPIO.setup(BUTTON, GPIO.IN)
GPIO.setup(LED_R, GPIO.OUT)
GPIO.setup(LED_G, GPIO.OUT)
GPIO.setup(LED_B, GPIO.OUT)
count = 0
try:
while True:
inputIO = GPIO.input(BUTTON)
if inputIO == False and count== 0:
print("RED")
GPIO.output(LED_R, GPIO.HIGH)
GPIO.output(LED_G, GPIO.LOW)
GPIO.output(LED_B, GPIO.LOW)
time.sleep(1)
count +=1
elif inputIO == False and count== 1:
print("GREEN")
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.HIGH)
GPIO.output(LED_B, GPIO.LOW)
time.sleep(1)
count +=1
elif inputIO == False and count== 2:
print("BLUE")
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.LOW)
GPIO.output(LED_B, GPIO.HIGH)
time.sleep(1)
count +=1
elif inputIO == False and count== 3:
print("YELLOW")
GPIO.output(LED_R, GPIO.HIGH)
GPIO.output(LED_G, GPIO.HIGH)
GPIO.output(LED_B, GPIO.LOW)
time.sleep(1)
count +=1
elif inputIO == False and count== 4:
print("MAGENTA")
GPIO.output(LED_R, GPIO.HIGH)
GPIO.output(LED_G, GPIO.LOW)
GPIO.output(LED_B, GPIO.HIGH)
time.sleep(1)
count +=1
elif inputIO == False and count== 5:
print("CYAN")
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.HIGH)
GPIO.output(LED_B, GPIO.HIGH)
time.sleep(1)
count +=1
elif inputIO == False and count== 6:
print("WHITE")
GPIO.output(LED_R, GPIO.HIGH)
GPIO.output(LED_G, GPIO.HIGH)
GPIO.output(LED_B, GPIO.HIGH)
time.sleep(1)
count +=1
else:
print("NO LED")
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.LOW)
GPIO.output(LED_B, GPIO.LOW)
except KeyboardInterrupt:
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.LOW)
GPIO.output(LED_B, GPIO.LOW)
GPIO.cleanup()
-위의 코드 반복실행
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM) #GPIO.BOARD
GPIO.setwarnings(False)
BUTTON= 4
LED_R = 5
LED_G = 6
LED_B = 13
GPIO.setup(BUTTON, GPIO.IN)
GPIO.setup(LED_R, GPIO.OUT)
GPIO.setup(LED_G, GPIO.OUT)
GPIO.setup(LED_B, GPIO.OUT)
count = 0
try:
while True:
inputIO = GPIO.input(BUTTON)
if inputIO == True and count== 0:
print("RED")
GPIO.output(LED_R, GPIO.HIGH)
GPIO.output(LED_G, GPIO.LOW)
GPIO.output(LED_B, GPIO.LOW)
time.sleep(0.2)
count +=1
elif inputIO == True and count== 1:
print("GREEN")
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.HIGH)
GPIO.output(LED_B, GPIO.LOW)
time.sleep(0.2)
count +=1
elif inputIO == True and count== 2:
print("BLUE")
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.LOW)
GPIO.output(LED_B, GPIO.HIGH)
time.sleep(0.2)
count +=1
elif inputIO == True and count== 3:
print("YELLOW")
GPIO.output(LED_R, GPIO.HIGH)
GPIO.output(LED_G, GPIO.HIGH)
GPIO.output(LED_B, GPIO.LOW)
time.sleep(0.2)
count +=1
elif inputIO == True and count== 4:
print("MAGENTA")
GPIO.output(LED_R, GPIO.HIGH)
GPIO.output(LED_G, GPIO.LOW)
GPIO.output(LED_B, GPIO.HIGH)
time.sleep(0.2)
count +=1
elif inputIO == True and count== 5:
print("CYAN")
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.HIGH)
GPIO.output(LED_B, GPIO.HIGH)
time.sleep(0.2)
count +=1
elif inputIO == True and count== 6:
print("WHITE")
GPIO.output(LED_R, GPIO.HIGH)
GPIO.output(LED_G, GPIO.HIGH)
GPIO.output(LED_B, GPIO.HIGH)
time.sleep(0.2)
count = 0
else:
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.LOW)
GPIO.output(LED_B, GPIO.LOW)
except KeyboardInterrupt:
GPIO.output(LED_R, GPIO.LOW)
GPIO.output(LED_G, GPIO.LOW)
GPIO.output(LED_B, GPIO.LOW)
GPIO.cleanup()
'Raspberry Pi' 카테고리의 다른 글
라즈베리파이 본격수업 3일차 (0) | 2020.10.19 |
---|---|
라즈베리파이3) 초음파 센서를 이용하여 거리 출력하기(LED로 거리 색깔 조절) (0) | 2020.10.16 |
라즈베리파이 본격수업 2일차 (오전) (0) | 2020.10.16 |
라즈베리파이 본격수업 1일차 (0) | 2020.10.15 |
VS Code 설치 in 라즈베리파이 (0) | 2020.10.14 |