Raspberry Pi Zero GPIO Pinout Problem bei Relais Steuerung

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Hallo zusammen,


    ich habe mir jetzt für mein Projekt mal die einzelne Hardwarekauft. Heute ist das Relais gekommen.

    Ich habe jetzt ganz einfach mal eine py Datei für die Steuerung geschrieben:




    Das script funktioniert auch ABER.


    Wenn ich das Script ausführe, gehen sofort alle 4 Pins auf output HIGH.

    Also die Relais gehen beim Ausführen von HIGH auf LOW und wieder zurück!


    Warum machen die das ?

    Gibt es sonst noch Verbesserungsvorschläge?


    Danke für eure Hilfe!

  • Moin Wolly300,


    Warum machen die das ?

    Antwort: Weil du das so willst!!


    Ich weiß das diese Antwort pampig ist, aber deine Frage hat sowas verdient.

    Schau dir mal deinen Code an. Du hast da eine Schleife die was hochzählt, aber irgendwie geht die Schleife nicht. Sonst würden die Relais nur noch klackern.

    Dann schaltest du die Relais ein und nach sleep wieder aus.....


    Reicht das ??


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • Wenn ich das Script ausführe, gehen sofort alle 4 Pins auf output HIGH.

    Also die Relais gehen beim Ausführen von HIGH auf LOW und wieder zurück!

    Warum machen die das ?

    Hallo Wolly300,

    Dein erster Satz da im Zitat stimmt nicht, Du selbst hast es ja anders programmiert. Dass die Relais sofort anziehen und dann kurz abfallen und wieder anziehen, liegt daran. dass Du wahrscheinlich Deine low activ Relaisplatine ohne weitere Beschaltung an den Pi geklemmt hast. Aber das weiß außer Dir niemand so recht. Sieh doch nochmal hier im forum nach, wie man eine Relaisplatine richtig anschließt, dann erübrigt sich es meist, die Logik softwaremässig zu drehen.


    Grüße, STF

  • Hallo,


    du solltest auch besser auf die neuere gpiozero Bibliothek wechseln statt die alte / veraltete RPi.GPIO Bibliothek. Bei gpiozero sind alle Pins automatisch auf `low`, wenn du eine Instanz des Pins anlegst.


    Dein while-Schleife ist einen endlos Schleife, weil du nirgendwo i hochzähltst.


    Des Weiteren solltest du den redundanten Code entfernen und eine Funktion zum schalten der Pins schreiben statt das so Spaghetti-Code mäßig runter zu tippen.


    Gruß, noisefloor