我被困在这个与工作相关的项目上。我想要完成的是,按下一定数量的按钮后,我希望我的程序结束。我正在思考一个循环。
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while True:
input_state = GPIO.input(18)
if input_state == False:
print('Button Pressed')
time.sleep(0.2)
Max_Presses = 100
button_pressed = 0
def button_pressed():
return input_state()
while button_pressed < Max_Presses:
print 'still going'
if button_pressed():
button_pressed += 1
答案 0 :(得分:0)
是的,while
循环听起来像是必须使用的东西。您将需要一个计数器来跟踪按下按钮的次数。检查计数器是否为循环条件,例如
MAX_PRESSES = 10
button_presses = 0
def button_pressed():
return poll_GPIO_pin_or_whatever() # something that detects button presses
while button_presses < MAX_PRESSES:
print 'still going'
if button_pressed():
button_presses += 1
检查功能可能通过轮询GPIO引脚来工作,或者可能存在某种适用于您环境的回调机制。