Aber bitte nicht mit RPi.GPIO, besser Du verwendest gleich gpiozero!
Orientieren kannst Du Dich ganz gut an dem hier: https://gpiozero.readthedocs.io/en/stable/reci…shutdown-button, das ist quasi schon das was Du willst und müsste nur noch für die Befehle angepasst werden.
Ok aber wie soll ich das umsetzen?
Habe mich nun für einen Slide-Switch entschieden der bei aktivierung einfach nur 3V auf einen GPIO Pin legt und dazu folgendes Skript gebastelt. Jetzt kenne ich gpiozero noch nicht und weiß daher nicht wie man das äquivalent umsetzen kann.
Code
#!/usr/bin/env python
#coding: utf8
import time
import RPi.GPIO as GPIO
# Zählweise der Pins festlegen
GPIO.setmode(GPIO.BOARD)
# Pin 18 (GPIO 24) als Eingang festlegen
GPIO.setup(18, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
# Schleifenzähler
i = 0
# Ereignis-Funktion für Eingang HIGH
def doIfHigh(channel):
# Zugriff auf Variable i ermöglichen
global i
if GPIO.input(channel) == GPIO.HIGH:
# Wenn Eingang HIGH ist, Ausgabe im Terminal erzeugen
print "Eingang " + str(channel) + " HIGH " + str(i)
else:
# Wenn Eingang LOW ist, Ausgabe im Terminal erzeugen
print "Eingang " + str(channel) + " LOW " + str(i)
# Schleifenzähler erhöhen
i = i + 1
# Ereignis deklarieren
channel = 18
GPIO.add_event_detect(channel, GPIO.BOTH, callback = doIfHigh, bouncetime = 200)
# Eigentlicher Programmablauf
while 1:
time.sleep(0.1)
Display More
Wäre super wenn du mir erklären könntest wo ich die fehlenden Infos herbekomme wie dieser Code anzupassen ist.
LG,
Manuel