Soooooooooo. Habe das ATX jetzt am laufen. Ich musste am Code etwas schrauben und einen externen Widerstand verbauen (2k) damit es funktioniert.
Habe jetzt einen Pull-up Widerstand zwischen 3,3V und GPIO.input gesetzt.
Im Code habe ich noch eingestellt das fallende und steigende Flankenwechsel erkannt werden und die bouncetime auf 50ms gestellt in der While schleife wird dann die Abfrage gemacht ob GPIO.in auf LOW oder High ist. High könnte man sich eigentlich sparen und auch die timer und print befehle, die habe ich nur zum testen in der shell gebraucht.
Hier mal mein neuer Code:
Habe jetzt einen Pull-up Widerstand zwischen 3,3V und GPIO.input gesetzt.
Im Code habe ich noch eingestellt das fallende und steigende Flankenwechsel erkannt werden und die bouncetime auf 50ms gestellt in der While schleife wird dann die Abfrage gemacht ob GPIO.in auf LOW oder High ist. High könnte man sich eigentlich sparen und auch die timer und print befehle, die habe ich nur zum testen in der shell gebraucht.
Hier mal mein neuer Code:
Code:
#!/usr/bin/env python
import RPi.GPIO as GPIO
import subprocess
import time
import datetime
GPIO.setmode(GPIO.BCM)
GPIO.setup(13, GPIO.IN)# pull_up_down=GPIO.PUD_UP)
time.sleep(20)
#Flanke = GPIO.wait_for_edge(13, GPIO.BOTH, bouncetime=50)
#subprocess.call(['shutdown', '-h', 'now'], shell=False)
GPIO.add_event_detect(13, GPIO.BOTH, bouncetime = 50)
Zaehler = 0
while True:
if GPIO.event_detected(13):
if GPIO.input(13) == 1:
print("HIGH")
if GPIO.input(13) == 0:
print("LOW")
time.sleep(1)
Zaehler = Zaehler + 1
print(Zaehler)
time.sleep(1)
subprocess.call(['shutdown', '-h', 'now'], shell=False)