LED mit WiringPI schaltet sich ende des Scripts aus

  • Hallo zusammen,

    vorweg: ich bin Python Anfänger. Ich habe eine LED, welche ich morgens auf 100% hochdimmen und Abends auf 0% ausdimmen möchte. Das bin ich nun wie folgt angegangen:
    -Ein Script zum hochdimmen, wird über Cronjob gestartet, und soll, wenn fertig, die LED (Port 17) auf High lassen
    -Ein Script zum ausdimmen, wird auch per Cronjob gestartet und soll bei Ende auf Low bleiben.

    Das Dimmen als solches Funktioniert auch wunderbar - mit MOSFET über 12v alles toll. Aber jetzt scheitere ich daran das wenn das Python-Script "fertig" ist, der Port offensichtlich wieder auf LOW geschaltet wird. Jedenfalls dimmt die LED ganz brav und langsam hoch, und wenn sie damit fertig ist schaltet sie sich ab.

    Dann hatte ich den Ansatz das ich nach dem Dimmen per WiringPI die den Port quasi manuell auf High schalte in dem ich in die Datei /sys/class/gpio/gpio17/value eine 1 schreibe, aber das finde ich eigentlich unelegant, und außerdem muss ich dafür ja auch nach jedem Start den Port neu initialisieren (wenn ich das richtig verstanden habe).

    Daher die Frage, ob ich mein Script so gestalten kann das ich nach dem es durchgelaufen ist den Port als Output und zustand High (bzw. Low) zurücklassen kann?

    Vielen Dank schon mal! :s

  • LED mit WiringPI schaltet sich ende des Scripts aus? Schau mal ob du hier fündig wirst!

  • Hallo Moerk,

    habe das gleiche Problem! Auch bei mir soll die LED von dunkel auf hell dimmen und dann hell bleiben, aber nach der Dimm-Rampe schaltet sie ab. So wie du habe ich auch am Schluss noch "GPIO.output(11,GPIO.HIGH)" gesetzt, aber es nützt nichts.
    Hat jemand eine Idee, woran es liegen könnte?
    Hab' schon verschiedenste Programmvarianten durchprobiert, aber es ist immer das selbe.

    Vielen Dank für Eure Tipps!

    Rudi

  • Hallo Moerk,

    Erst mal vorweg:
    Du benutzt nicht wiringPi, sondern RPi.GPIO, wenn mich nicht alles täuscht. ;)
    WiringPi ist für C, nicht für Python. (Gibt zwar auch eine Version für Python, aber die funktioniert nicht wirklich)

    Was mich auch noch wundert: Normalerweise schaltet man die LED's mit

    Code
    GPIO.output(pin,GPIO.LOW)


    an, nicht aus. Probiert einfach mal aus, LOW und HIGH zu tauschen.

    Es kann sein, dass led.stop() nicht nur den PWM output, sondern auch den normalen Output beendet.
    Es sollte aber auf jeden Fall gehen, den Output nach dem Dimmen auf maximale Leistung zu setzen oder auszuschalten.

    Solange ihr kein GPIO.cleanup() macht, sollte die LED dann anbleiben, da ja weiterhin der Pin aktiviert ist.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!