Servus zusammen,
ich habe 3 LED in einer analogen Schaltung (schwarzer Teil im Schaltbild) die ich gerne mit meinem Raspberry Pi 4 ausgelesen hätte (roter Teil im Schaltbild).
Die Sensoren an den Kontakten sind entlang eines Schiebetores und geben 2.1V an ein kleines LED Kästchen an der Wand aus.
Die drei Ausgänge sind exklusiv zu einander, es liegt also immer nur an Einem Spannung an.
Meine primäre Motivation war es aus der Ferne zu erfassen welcher der 3 Kontakte Spannung anliegen hat und somit ob das Tor auf, zu oder am Weg ist.
Der Python Code läuft fehlerfrei wenn ich ihn Einzeln auf einem Breadboard teste.
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
# Richtungs-Pins als Eingänge festlegen (11 links, 13 mitte, 15 rechts)
GPIO.setup(11, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
GPIO.setup(13, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
GPIO.setup(15, GPIO.IN, pull_up_down = GPIO.PUD_DOWN)
while 1:
# Eingang lesen und wenn High angeben
if GPIO.input(11) == GPIO.HIGH:
print ('<< Links')
if GPIO.input(13) == GPIO.HIGH:
print ('< Mitte >')
if GPIO.input(15) == GPIO.HIGH:
print ('Rechts >>')
time.sleep (2)
Alles anzeigen
Die Spannung entnehme ich dem Kontakt der alten Schaltung, und auch hier läuft der Testbetrieb einwandfrei. Spannung im linken Stromkreis = LED an, usw.
Ich dachte (wohl zu) einfach dreimal den Plus von Analog über den GPIO nach Masse und retour schleifen würde gehen. Aber es tut nicht.
Einzeln funktioniert es, also vermute ich das Zusammenlegen der Masse als Übeltäter, aber ich muss alle 3 Kontakte an Masse legen und selbst andere GND PINs am GPIO (z.b. 39) lösen das Problem nicht. Irgendwie fliesst Strom zwischen die GPIOs und das eindeutige HIGH wird ein mehrdeutiges Flip-Flop. Anscheinend bleibt am GPIO Spannung obwohl Es als GPIO.IN definiert ist und keine externe Spannung mehr anliegt, zumindest kommen von irgendwo 3V Spannung in die Schaltung die nur abfallen wenn ich die Masse entferne.
Ich habe auch bereits versucht die GPIO PINs und nach Abfrage am Ende der Schleife immer wieder auf OUTPUT LOW zu stellen, z.b. GPIO.output(11, GPIO.LOW), hat aber nichts gebracht. Wenn ich nach dem Widerstand noch eine gegengerichtete LED einbaue habe ich keine Verbindung gegen Masse und kein Signal am GPIO.
Mein Hirn kommt nicht dahinter, wahrscheinlich weil ich den Wald vor lauter Bäumen nicht sehe. Daher meine Bitte um Hilfe.
Danke Jürgen