2013-02-27 4 views
0

У меня возникли проблемы с моим скриптом. Я хочу реализовать способ закрыть мой скрипт с помощью строки. Дело в том, что я не хочу ждать ввода клавиатуры. Вместо этого я хочу проверить, было ли что-то введено с клавиатуры, пока скрипт ждет нажатия кнопки. Я играю с малиной Пи. Я подключил светодиод к GPIO i и переключатель, чтобы загорелся светодиод.проверка ввода клавиатуры во время ожидания ввода кнопки

Вот рабочий код:

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) 

Индикатор загорается при нажатии на кнопку, и выключается, когда кнопка отпущена. Он находится в бесконечном цикле, ожидая ответа кнопки. То, что я хочу сделать, - это пока скрипт ждет ввода кнопки, и я ввожу «выход» с клавиатуры, сценарий останавливается.

+0

Вы видели, что есть бирка стека малины PI? Ваш вопрос совершенно по теме, но на этом сайте вы, вероятно, найдете гораздо более концентрированный опыт R-Pi, чтобы ответить на ваш вопрос. –

+0

Извините, я этого не знал. Спасибо за информацию. – okram

ответ

0

Похоже, вы используете Python 3, так:

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 

Для условными - это более idomatic нам not exit чем exit == False

Если вы с помощью Python 2.x, вы бы используйте встроенную функцию raw_input вместо input.

Смежные вопросы