게임스타트 시키고 나서부터. while 돌기시작하면 거기서 못나와서 다른 함수가 실행이 안돼요. 살려주세요.
def GameStart(n):
print("<<< GameStart >>>")
Led1_Run()
def Led1_Run():
global Led1_Num
while Led1_Num <= 10:
if Led1_Num == 0:
red(LED1_R, LED1_G, LED1_B)
Led1_Num += 1
elif Led1_Num == 1:
green(LED1_R, LED1_G, LED1_B)
Led1_Num += 1
elif Led1_Num == 2:
blue(LED1_R, LED1_G, LED1_B)
Led1_Num += 1
elif Led1_Num == 3:
yellow(LED1_R, LED1_G, LED1_B)
Led1_Num += 1
elif Led1_Num == 4:
sky(LED1_R, LED1_G, LED1_B)
Led1_Num += 1
elif Led1_Num == 5:
purple(LED1_R, LED1_G, LED1_B)
Led1_Num += 1
elif Led1_Num == 6:
white(LED1_R, LED1_G, LED1_B)
Led1_Num = 0
def Led1_Stop(n):
global Led1_Num
print("Led1_STOP")
Led1_Num += 100
자비업슴
개깜놀
가장아래 Led1_Stop 함수가 100을 더해주면 멈추지 않을까요?? 근데 저기 갖혀서 Led1_Stop 함수가 작동을 안해요
개깜놀
import RPi.GPIO as GPIO
from time import sleep
Led1_Num = 0
# MainSW callback
def GameStart(n):
print(">")
Led1_Run()
# Led 동작
def Led1_Run():
global Led1_Num
while Led1_Num = 10:
break
# stop 함수가 실행되면 100 더해서 정지했으면 함
def Led1_Stop(n):
global Led1_Num
Led1_Num += 100
print("Led1_STOP")
#Color Def RGB LED 핀별 전원
def red(R, G, B):
GPIO.output(B, 1)
GPIO.output(R, 1)
GPIO.output(G, 1)
GPIO.output(R, 0)
MasterFlashTime()
def green(R, G, B):
GPIO.output(B, 1)
GPIO.output(R, 1)
GPIO.output(G, 1)
GPIO.output(G, 0)
MasterFlashTime()
def blue(R, G, B):
GPIO.output(B, 1)
GPIO.output(R, 1)
GPIO.output(G, 1)
GPIO.output(B, 0)
MasterFlashTime()
def yellow(R, G, B):
GPIO.output(B, 1)
GPIO.output(R, 1)
GPIO.output(G, 1)
GPIO.output(R, 0)
GPIO.output(G, 0)
MasterFlashTime()
def sky(R, G, B):
GPIO.output(B, 1)
GPIO.output(R, 1)
GPIO.output(G, 1)
GPIO.output(B, 0)
GPIO.output(G, 0)
MasterFlashTime()
def purple(R, G, B):
GPIO.output(B, 1)
GPIO.output(R, 1)
GPIO.output(G, 1)
GPIO.output(B, 0)
GPIO.output(R, 0)
MasterFlashTime()
def white(R, G, B):
GPIO.output(B, 1)
GPIO.output(R, 1)
GPIO.output(G, 1)
GPIO.output(B, 0)
GPIO.output(R, 0)
GPIO.output(G, 0)
MasterFlashTime()
def none(R, G, B):
GPIO.output(B, 1)
GPIO.output(R, 1)
GPIO.output(G, 1)
# LedFlash Master Time
def MasterFlashTime():
sleep(0.2)
# All LED Flash Off
def AllLedOff():
GPIO.output(LED1_R, 1)
GPIO.output(LED1_G, 1)
GPIO.output(LED1_B, 1)
GPIO.output(LED2_R, 1)
GPIO.output(LED2_G, 1)
GPIO.output(LED2_B, 1)
GPIO.output(LED3_R, 1)
GPIO.output(LED3_G, 1)
GPIO.output(LED3_B, 1)
# GPIO PIN SETTING
MainSW = 21
GPIO.setmode(GPIO.BCM)
GPIO.setup(MainSW, GPIO.IN)
#LED1
LED1_R = 20
GPIO.setup(LED1_R, GPIO.OUT)
LED1_G = 16
GPIO.setup(LED1_G, GPIO.OUT)
LED1_B = 12
GPIO.setup(LED1_B, GPIO.OUT)
LED1SW = 25
GPIO.setup(LED1SW, GPIO.IN)
#LED2
LED2_R = 24
GPIO.setup(LED2_R, GPIO.OUT)
LED2_G = 23
GPIO.setup(LED2_G, GPIO.OUT)
LED2_B = 18
GPIO.setup(LED2_B, GPIO.OUT)
LED2SW = 25
GPIO.setup(LED2SW, GPIO.IN)
#LED3
LED3_R = 19
GPIO.setup(LED3_R, GPIO.OUT)
LED3_G = 13
GPIO.setup(LED3_G, GPIO.OUT)
LED3_B = 6
GPIO.setup(LED3_B, GPIO.OUT)
LED3SW = 5
GPIO.setup(LED3SW, GPIO.IN)
#Interrupt Def
GPIO.add_event_detect(MainSW, GPIO.FALLING, callback=GameStart, bouncetime=500)
GPIO.add_event_detect(LED1SW, GPIO.FALLING, callback=Led1_Stop, bouncetime=500)
#GPIO.add_event_detect(LED2SW, GPIO.FALLING, callback=???, bouncetime=500)
#GPIO.add_event_detect(LED3SW, GPIO.FALLING, callback=???, bouncetime=500)
sec = 0
try:
AllLedOff()
while True:
print("sec : %d" %sec)
sec = sec + 1
sleep(1)
# First LED Flash Off
except KeyboardInterrupt:
GPIO.cleanup()
개깜놀
구웨엑
ayahyahyah
근데 왜 니 소스코드 복붙했는데 작동을 안하냐
귀여운알파
while 안에 갇혀있는데 stop이 어떻게 실행돼 ㅋㅋ 다음으로 아예 넘어가질 않는건데
귀여운알파
그리고 함수는 위로 쫙 올리고 메인루틴은 맨 아래 쓰던지 해야지 함수썼다가 메인루틴 썼다가 하면 복잡해
개깜놀
알갔읍니다 ㅜㅜ