Ist es möglich, ein Python-Skript zu pausieren, wenn Sie eine Taste gedrückt halten und dann starten, wenn Sie diese Taste loslassen? (Ich habe die Schaltfläche mit GPIO-Pins auf meinem Raspberry Pi verbunden)Wie warten, bis Sie eine Schaltfläche in Python freigeben
1
A
Antwort
1
Ich gehe davon aus, dass die Schaltfläche, die Sie verwenden, in GPIO18 ist, so dass Sie diesen Code verwenden können.
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)
while not input_state:
# as soon as your button is pressed you
# will be inside this loop
print('Button is being pressed')
Alternativ können Sie auch versuchen:
import time
import RPi.GPIO as GPIO
PIN = 18
GPIO.setmode(GPIO.BCM)
GPIO.setup(PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while True:
GPIO.wait_for_edge(PIN, GPIO.FALLING)
print "Pressed"
# your code
denke ich, die zweite Ziele genauer Ihre Anfrage.
0
Haben Sie sich gpiozero angesehen? Es macht die Interaktion mit GPIO viel einfacher.
from gpiozero import Button
button = Button(2)
button.wait_for_press()
button.wait_for_release()
print("Button was pressed and released")
Hier ist der Link auf die Button-Klasse: https://gpiozero.readthedocs.io/en/v1.3.1/api_input.html#gpiozero.Button.wait_for_release
Und Beispiele dafür, wie es zu benutzen: https://gpiozero.readthedocs.io/en/v1.3.1/recipes.html#button
Verwandte Themen
- 1. Lassen Sie eine Java-Funktion warten, bis eine Schaltfläche geklickt wird, bis
- 2. Warten Sie, bis Prozess mit Python WMI
- 3. warten bis Seite aktualisiert
- 4. Warten Sie, bis ein Prozess
- 5. Warten Sie, bis eine Seite vollständig in Selen geladen ist
- 6. Klicken Sie auf eine Schaltfläche, bis sie verschwindet in CasperJS
- 7. Warten bis eine zeitraubende Funktion beendet ist.
- 8. Wie lange warten, bis eine Seite nach dem Klicken auf eine Schaltfläche abgeblendet ist?
- 9. Warten Sie, bis ein Skript heruntergeladen und ausgeführt wurde und warten Sie, bis DOM geladen wird
- 10. Warten bis QWidget schließt
- 11. Generieren warten, bis eine Anwendung geöffnet
- 12. Wie warten Sie, bis alle Hintergrundthreads fertig sind (in C#)?
- 13. Warten bis Boolean in Swift True ist?
- 14. Selen warten bis Methode
- 15. Python: Wie warten, bis ein subProzess Initialisierung beendet
- 16. Warten Sie, bis alle Arbeiter fertig sind
- 17. Warten Sie, bis der untergeordnete Prozess in R
- 18. Warten Sie, bis das Medienelement über eine NaturalDuration-Information verfügt
- 19. Warten Sie, bis der Prozess beendet ist
- 20. Warten Sie, bis eine Datei mit einem Timeout erstellt wurde
- 21. Warten bis File.Exists?
- 22. Warten Sie, bis das http.get das Objekt
- 23. So warten Sie, bis eine geschachtelte Alamofire-Anfrage abgeschlossen ist
- 24. So warten Sie, bis der Systembefehl endet
- 25. Warten, bis glutPostRedisplay() aktualisiert
- 26. BrowserAction.onClicked Warten Sie, bis Iframe geladen wird
- 27. Warten Sie auf eine Schaltfläche klicken innerhalb foreach Schleife
- 28. Wie warten, bis ein BackgroundWorker abbricht?
- 29. Wie warten, bis Remote-Debugger angeschlossen
- 30. Wie warten, bis ein ThreadPoolExecutor fertig ist
haben Sie einen Code haben, so weit? – lmiguelvargasf
Ja, es ist möglich. – kalenpw