2013-02-27 8 views
0

내 스크립트에 문제가 있습니다. 문자열을 사용하여 스크립트를 닫는 방법을 구현하고 싶습니다. 문제는 키보드 입력을 기다리는 것을 원하지 않는다는 것입니다. 대신 스크립트가 버튼을 누르기를 기다리는 동안 키보드를 통해 무언가가 입력되었는지 확인하려고합니다. 나는 라즈베리 파이로 놀고있어. 저는 LED를 i의 GPIO에 연결하고 LED를 켜기위한 스위치를 연결했습니다.버튼 입력 대기 중 키보드 입력 확인

여기 작업 코드입니다 : 버튼을 누를 때

import RPi.GPIO as GPIO 
GPIO.setmode(GPIO.BOARD) 
GPIO.setup(8, GPIO.IN) 
GPIO.setup(10, GPIO.OUT) 

while Truue: 
    value = GPIO.input(8) 

    if value == False: 
     GPIO.output(10, GPIO.HIGH) 
     print("Button pressed") 

     while value == False: 
      value = GPIO.input(8) 
    else: 
     GPIO.output(10, GPIO.LOW) 

LED는 점등하고, 버튼을 놓으면 꺼집니다. 버튼 응답을 기다리는 무한 루프입니다. 스크립트에서 버튼 입력을 기다리는 동안 키보드에서 "exit"를 입력하면 스크립트가 중지됩니다. 파이썬 3를 사용하는 것처럼

+0

당신은 Raspberry PI Stack Exchange가있는 것을 보았습니까? 당신의 질문은 완벽하게 여기에 주제입니다,하지만 그 사이트에서 당신은 아마 당신의 질문에 대답하기 위해 훨씬 더 집중된 R-Pi 기술을 발견 할 것입니다. –

+0

미안하지만, 나는 몰랐다. 정보 주셔서 감사합니다. – okram

답변

0

너무 보인다 : 조건문에 대한

exit = False 
while not exit: 
    value = GPIO.input(8) 
    entered = input('type exit to stop: ') 
    if not value: 
     print("Button Pressed") 
     GPIO.output(10, GPIO.HIGH) 
    if entered == 'exit': 
     break 

이 - 당신이 파이썬 2.X를 사용한 경우 exit == False

보다는 우리 not exit 더 숙어, 당신은 것 input 대신 내장 된 함수 raw_input을 사용하십시오.