python 等待按钮被按下的代码

python code to wait for push button to be pushed

我正在使用 python 来控制一个 arduino.I 想要 python 代码等待按钮被按下,然后移动到下一个 line.In我当前的代码,代码休眠 x 秒并检查按钮是否已被按下,如果按钮未被按下,它会跳过它。 这是我当前的代码:

    if bool(push_button2.read()):
        print('Please press any button when done')
        sleep(2)
        if bool(push_button1.read()) or bool(push_button2.read()):

这个问题是如果 push_button1 or push_button2 没有被按下,它将移动到下一个 code.So 有没有办法让 python 通过按钮等待输入? 谢谢

您可以为此使用 while

while(!push_button2.read())
    pass

或者您甚至可以在此处添加小 sleep()

while(!push_button2.read())
    sleep(0.01)

最后,您可以编写自己的函数:

# wait for one button
def wait_for_button(button):
    while(!button.read())
        pass

# wait for any button from a set
# usage: wait_for_any_button(button1, button2)
def wait_for_any_button(*args):
    while !any(map(lambda b: b.read(), args)):
        pass

# if you need a button index
def wait_for_any_button_i(*args):
    while True:
        for i, button in enumerate(args):
            if button.read():
                return i

https://arduino.stackexchange.com/questions/15844/pause-code-untill-a-button-is-pressed