如何在python中记录按钮按下以打开组合锁

时间:2017-09-08 00:40:49

标签: python-2.7 raspberry-pi

我试图使用我的覆盆子pi在按下按钮时播放声音,并在按下正确的按钮顺序时另外输出。

我已经发现声音非常好并且工作得很好但却无法弄清楚如何对组合锁进行编程。任何帮助将不胜感激,让我走上正确的道路。 (输出将设置为26)

到目前为止

代码:

import os
from time import sleep

import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.IN)
GPIO.setup(27, GPIO.IN)
GPIO.setup(22, GPIO.IN)
GPIO.setup(10, GPIO.IN)

while True:
    if (GPIO.input(17) == False):
        os.system('mpg123 /home/pi/frogjars/frog1.mp3 &')
        print("Button 1 Pressed")
        sleep(3)
    if (GPIO.input(27) == False):
        os.system('mpg123 /home/pi/frogjars/frog2.mp3 &')
        print("Button 2 Pressed")
        sleep(3)
    if (GPIO.input(22) == False):
        os.system('mpg123 /home/pi/frogjars/frog3.mp3 &')
        print("Button  3 Pressed")
        sleep(3)
    if (GPIO.input(10) == False):
        os.system('mpg123 /home/pi/frogjars/frog4.mp3 &')
        print("Button  4 Pressed")
        sleep(3)

    sleep(0.1);

1 个答案:

答案 0 :(得分:0)

这取决于您希望如何处理组合的输入。最简单/最粗糙的方法是将每个按钮附加到字符串,然后检查组合是否在字符串中。在超时或多次按下后清除缓存的按钮将需要更多的复杂性。