Probleme mit Relaissteuerung-

  • Hallo,

    ich bin neu im Thema Raspberry Pi bzw. Python und versuche derzeit mein erstes Python Skript zu schreiben.

    (Ich arbeite als Java Entwickler also ich habe schon Ahnung vom Programmieren und auch genug Ahnung von Elektro und Digitaltechnik)

    Ich will hin bekommen, dass ein Relais schaltet wenn ich einen Button drücke und wieder aus geht wenn ich vom Button runter gehe.

    Eine einfache While schleife mit dem Button haut schon hin, also ich kann z.B. einen Text ausgeben lassen solange ich einen Button drücke.

    Was aber noch nicht hin haut ist die Relais ansteuerung. Normalerweise sollte beim Relais ein grünes Licht angehen, sobald der OUTPUT am entsprechenden Pin HIGH ist.

    Das passiert aber nicht. ich habe das Skript mal so vereinfacht, das einfach das Relais 5 Sekunden schalten soll und dann aus gehen soll. Aber es schaltet nicht. ICh bekomme
    nur eine Fehlermeldung mit der ich nichts anfangen kann. Wer kann mir bei diesem einfachen Programmcode helfen ?

    https://www.bilder-upload.eu/upload/6935b7-1540227029.jpg


    Gruß Leqii

    ps. Sorry dass ich den Code gerade nur als Bild habe

  • ein Glück gibt es auf der ganzen Welt nur ein Relais, also brauchst du uns nicht verraten was du hast! :conf:


    Ausserdem wurde hier noch nichts über Relais geschrieben also ist deine Frage verständlich. :fies:

    Ich arbeite als Java Entwickler


    mir fehlt der Glaube

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Es spielt ersteinmal keine Rolle was für ein Relais ich angeschlossen habe, denn am GPIO (Pin 12) liegt allgemein keine Spannung an, denkt euch anstatt dem Relais einfach irgendeinen anderen Verbraucher.

    Den entsprechenden Code zum Bild ergänze ich in Kürze

  • Hallo,


    anstatt das alte / veraltete RPi.GPIO Modul zu nutzen, möchtest du lieber neuere / schönere / bessere gpiozero Modul nutzen. Damit ist auch das Reagieren auf Events wie einen Tastendruck einfacher zu realisieren.


    Gruß, noisefloor

  • noisefloor

    könntest du mir dazu evtl einen COde schreiben, dass wenn ich einen Button klicke wo ein output gesetzt wird und wenn ich den Button los lasse der output weggenommen wird ?

  • wo ist das Problem sich als java Entwickler in andere Sprachen einzulesen?


    Wer schreibt von sich als Java Entwickler und bittet andere um fertige Arbeit?

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr

  • Der Link, bzw. deren Inhalt sagt mir nichts. Aber, ich kenne den Unterschied zwischen Java und JavaScript. Ich stellte es aber dem TO als fraglich hin.


    Dennoch danke

  • Hallo,

    noisefloor

    könntest du mir dazu evtl einen COde schreiben, dass wenn ich einen Button klicke wo ein output gesetzt wird und wenn ich den Button los lasse der output weggenommen wird ?

    äh... hier ist ein Support-Forum, kein "ich wünsch mir fertigen Code" Forum...


    Die `Button` Klasse von gpiozero kennt eine `when_pressed` und `when_released` Methode. Das Beispiel dazu steht auf der Startseite (!) der gpiozero Doku, und zwar fast ganz oben. Wenn du noch nicht mal so viel Eigeninitiativen aufbringst, die Startseite des empfohlenen Moduls zu lesen... dann wirst du dein Problem nie gelöst bekommen.


    Also: Eigeninitiative -> Code schreiben -> Code testen -> wenn's nicht so funktioniert, wie du es dir vorstellst -> Code hier posten inkl. Fehlerbeschreibung.


    Gruß, noisefloor

  • nur eine Fehlermeldung mit der ich nichts anfangen kann

    Also das ist keine Fehlermeldung, sondern eine Warnung.

    Diese kommt zustande da du am Ende des Skriptes die Ressourcen nicht wieder freigibst.

    Code
    1. GPIO.cleanup()

    Dafür ist dieser Befehl gedacht.

    Ich kann mich aber den Empfehlungen der Vorredner nur anschließen und dir gpiozero empfehlen!


    EDIT:

    Da es sich um keine Fehlermeldungen sondern Warnungen handelt, vermute ich zusätzlich noch, dass die Relais falsch angeschlossen sind.

  • Moin,

    ich habe mal seinen (des TE, den er als Bild angehängt hat) Code getestet:

    bekomme auch die Warnmeldung (Hofei hat ja erklärt wieso), ansonsten funktioniert der Code aber.

    Pin 12 ist ansteuerbar.

    Deshalb unterstütze ich Hofeis Vermutung.

    Einmal editiert, zuletzt von ait ()

  • Wenn das Relais nicht schaltet, darauf achten, mit wie viel Volt es betrieben werden muss.


    Grundlagen Relais kann man gut googeln (ich habe vor 2 Tagen selbst mein Relais installiert).


    Wenn es ein 5v Relais ist, dann bitte nicht an den 3,3v Pin docken. Wenn das Relais leuchtet, aber nicht "klickt", dann ist da zu wenig power drauf.


    Fertigen Code kann man übrigens auch googeln(:

  • Stew1987 , erstens hast Du auf einen seit Monaten inaktiven Thread geantwortet, das nützt wohl niemandem mehr. Und dann schreibe bitte niemalsnie, dass Du ein Relais direkt und einfach so an den RPi anschließen würdest, auch wenn Du es sicher anders meinst (Relaisplatine).


    Grüße, STF