프로그래밍

파이썬입니당.

게임스타트 시키고 나서부터. 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

8개의 댓글

2019.05.26
[삭제 되었습니다]
2019.05.26
@자비업슴

가장아래 Led1_Stop 함수가 100을 더해주면 멈추지 않을까요?? 근데 저기 갖혀서  Led1_Stop 함수가 작동을 안해요

0
2019.05.26

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()

 

0
2019.05.26
@개깜놀

구웨엑

0
2019.05.26

근데 왜 니 소스코드 복붙했는데 작동을 안하냐

0
2019.05.26

while 안에 갇혀있는데 stop이 어떻게 실행돼 ㅋㅋ 다음으로 아예 넘어가질 않는건데

0
2019.05.26

그리고 함수는 위로 쫙 올리고 메인루틴은 맨 아래 쓰던지 해야지 함수썼다가 메인루틴 썼다가 하면 복잡해

0
2019.05.26
@귀여운알파

알갔읍니다 ㅜㅜ

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180372 [잡담] 개꿀 당근에서 만원짜리 컴 득템 3 플게이어 2 7 시간 전 306
180371 [컴퓨터] 중고로 키크론 k3 pro? 라는 키보드를 구해왔는데 6 3th3 0 7 시간 전 155
180370 [견적] 이거 에센코어 KLEVV DDR4 PC4-25600 CL22 매우 싸게 나왔는... 11 부터시작하는이세... 0 12 시간 전 163
180369 [잡담] 모니터암 설치하는데 미스테리 3 사나이테스트 0 13 시간 전 262
180368 [컴퓨터] 음향 관련 잘아는 형들 질문... 3 Marlin 0 13 시간 전 120
180367 [잡담] 애드가드 안드로이드 kt-dpi 우회 업데이트 됨 어무니 0 14 시간 전 147
180366 [컴퓨터] m2 ssd를 메인보드 기준으로 슬롯 1번에 있는거 2번으로 옮기... 3 오뜨 0 14 시간 전 108
180365 [잡담] 유튜브앱 구간 스킵 방식이 바꼈네?? 2 츄이로 0 14 시간 전 159
180364 [컴퓨터] 이륙 허가좀 17 사촌간부랄빨기 0 15 시간 전 151
180363 [컴퓨터] 완전 컴알못인데 이 레노버 노트북 사도 될까? 10 Fiesta 0 16 시간 전 156
180362 [잡담] 천천히 충전하는 거 폰 배터리에 더 안 좋음? 6 개돼지무한리필 0 16 시간 전 140
180361 [잡담] 메타ai 공개 2 년차html개발자 1 16 시간 전 144
180360 [컴퓨터] p41을 서브 게임저장용은 낭비인가? 7 신우철 0 18 시간 전 156
180359 [정보] 해당 모니터암이 여기 모니터2개에 맞을지 모르겠습니다 2 골든베릴 0 20 시간 전 122
180358 [견적] (직구) SK하이닉스 Platinum P41 2TB PCIe4.0 NVMe M.2 2280 ... 7 요기쪄 0 20 시간 전 316
180357 [컴퓨터] 이거 괜찮은 가격인가요? 5 죽업 0 22 시간 전 192
180356 [잡담] 급해서 특급운송으로 주문했는데... 오브 0 22 시간 전 153
180355 [컴퓨터] 사도 됨? 8 or5469 0 1 일 전 184
180354 [모바일] 에어팟 프로 1세대 노이즈 캔슬링시 들리는 잡음 해결 방법 5 기승전치킨 0 1 일 전 163
180353 [컴퓨터] RX7600 생각보다 잘만들었네? 7 Vv연옥의사신vV 0 1 일 전 273