2017-09-08 5 views
1

En essayant d'utiliser mon framboise pi pour jouer des sons lorsque les boutons sont poussés et en plus de sortie quand l'ordre exact des appuis sur les boutons est fait. J'ai trouvé les sons plutôt bons et j'ai réussi à comprendre comment programmer le verrouillage de la combinaison. Toute aide serait appréciée pour me mettre sur le bon chemin. (Sortie serait configuré comme 26)comment enregistrer des pressions de bouton en python pour ouvrir le verrouillage de combinaison

Code

jusqu'ici:

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); 

Répondre

0

Cela va dépendre de la façon dont vous voulez gérer l'entrée de la combinaison. La méthode la plus simple/la plus grossière consiste à ajouter chaque pression de bouton à une chaîne, puis à vérifier si la combinaison est dans la chaîne. L'effacement du bouton en mémoire cache après un délai d'expiration ou un nombre de pressions nécessitera un peu plus de complexité.

+0

Je l'ai compris en fonction de votre suggestion. fonctionne parfaitement. Merci – jwebb