프로그래밍

파이썬입니당.

게임스타트 시키고 나서부터. 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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180586 [프로그래밍] 엥 구글 플러터 유기각 재는거임?? 최수연 0 8 분 전 12
180585 [모바일] 모바일 크롬 탭창 표정 바뀜 ㅎㄷㄷ 1 살에눈나와어른의... 0 1 시간 전 62
180584 [모바일] 폰 충전기 발열이 넘 심한데 바꿔야 하나 2 우히히힣 0 3 시간 전 71
180583 [컴퓨터] i9 13900k 쓰고있는데 질문! 3 래더넉 0 6 시간 전 115
180582 [컴퓨터] 키보드 -> 방향키가 눌릴때 삐걱거림 3 뮤잉운동케겔운동... 0 8 시간 전 54
180581 [모바일] 기기변경할때 유심을 같은거쓰면 정보 그대로 보존됨? 2 마법부오러사무국장 0 9 시간 전 86
180580 [잡담] 결국 레이니 75 구매함 4 이제는끝내자 0 10 시간 전 170
180579 [컴퓨터] 이륙 허가를 요청한다! 15 와플맛 0 11 시간 전 116
180578 [컴퓨터] 찐따 컴하하 컴퓨터 구매 완료 2 69746974 0 11 시간 전 114
180577 [모바일] a34주문했는데 품절이네 ㅅㅂ 울그락푸르락 0 13 시간 전 120
180576 [컴퓨터] 보통 모니터 스펙이 높을수록 발열이 심해짐? 6 오늘하루도빚갚으리오 0 14 시간 전 137
180575 [컴퓨터] 스마트폰용 SD카드 샀는데 이거 잘 인식 되려나? 4 마두라지 0 14 시간 전 106
180574 [모바일] 갤탭s10 존버중이였는데 그냥 s9 살까 5 한림예고 0 14 시간 전 138
180573 [모바일] 오 플립4 one ui 6.1 업뎃 나왔다 대나무표효자손 0 14 시간 전 119
180572 [모바일] 네이버2차인증알람이 안옴.... 4 까까사주세요 0 17 시간 전 108
180571 [견적] 안녕하세요 선생님들 이 스펙에 4070s 괜찮을까요 14 시비걸면눈물흘림 0 17 시간 전 153
180570 [잡담] 당근에 플스프로4 올려놨더니 구매한다면서 누가 펌웨어 버전... 3 연골어류 0 17 시간 전 199
180569 [프로그래밍] 반도체 장비 업계인 있음? 6 캡틴띠모 0 18 시간 전 159
180568 [컴퓨터] 램 3600짜리 샀는데 제대로 인식을 안한다(해결됨) 10 오이혐오자 0 18 시간 전 124
180567 [잡담] 조공 유)맥북 어플 추천좀 9 년차html개발자 0 18 시간 전 103