Moin, ich habe wieder mal ein kleines Problem mit Python.
Ich habe eine Türe mit einem Schalter versehen, welcher an den GPIO 21 am Pi angeschlossen ist:
[Blocked Image: http://axel.spdns.de/fotoalbum/elektronik/schalter_an_gpio_mit_widerstand.jpg]
Nutze ich dieses Pythonscript, wird mir nur eine geschlossene Türe erkannt, aber keine offene:
Python
#!/usr/bin/env python3
# coding: utf-8
from __future__ import print_function
import RPi.GPIO as GPIO
import time, signal
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN)
def interrupt_event(pin):
zeit = time.strftime("%d.%m.%Y %H:%M:%S")
if GPIO.input(21) == GPIO.HIGH:
print('{} Schalter an Pin {} meldet offene Türe' .format(zeit, pin))
else:
print('{} Schalter an Pin {} meldet geschlossene Türe' .format(zeit, pin))
try:
GPIO.add_event_detect(21, GPIO.BOTH, callback=interrupt_event, bouncetime=250)
#keep script running
signal.pause()
except KeyboardInterrupt:
print('Quit')
GPIO.cleanup()
Display More
Irgendwie muss das mit dem Script zu tun haben, denn mit "gpio readall" wird mir immer eine "0" bei geschlossener Türe und eine "1" bei geöffneter Türe ausgegeben.
Entweder stehe ich wieder auf dem Schlauch, oder habe sonst etwas übersehen.
Da ich im programmieren eine Null bin, hoffe ich mal wieder auf euch.
Wo liegt der Fehler ? (Meist sitzt der Fehler ja vor dem Gerät)
MfG