GPIO Pins Invertiert

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich arbeite gerade an einer Schaltung, die Temperatursensoren verschiedener Arten (DS18B20 und DHT11) ansteuert und je nach Temperatur LED's zum leuchten bringt.
    Dazu benutze ich python und RPi.GPIO
    Das funktioniert auch alles wie es soll. Allerdings bin ich auf etwas Seltsames gestoßen:
    Während sich die drei normalen LED's wie gewohnt mit

    Code
    GPIO.output(pin,0)


    anschalten lassen, ist es bei der RGB-LED genau anders herum, die einzelnen Pins der RGB-LED lassen sich also mit

    Code
    GPIO.output(pin,1)


    aktivieren. :s
    Ich habe die Schaltung auch schon an einem zweiten RasPi ausprobiert, aber überall das Selbe.


    Tausche ich die RGB-LED mit den normalen LED's aus, so lassen sich die normalen nun nur mit 1 aktivieren, und die RGB-LED ist wieder normal.
    Allerdings konnte ich auf den Datenblättern zu den GPIO-Pins nirgends Bemerkungen dazu finden.
    Betroffen von der Invertierung sind die Pins GPIO23, GPIO24, GPIO25, GPIO12, GPIO16, GPIO20 und GPIO21.

    Es stellt zwar kein großes Problem für mein Vorhaben dar, aber es verwirrt mich etwas, daher würde ich es schon gerne klären.

  • Ein GPIO ist kein Spannungstreiber, bzw. Strom Lieferant
    Es sollten nur low current oder uh LEDs direkt aus dem GPIO mit maximal 2-3 mA versorgt werden.
    Ein Port kann als sink oder source current betrieben werden

    als Source gibt ein GPIO auf high -> 1 -> 3,3V aus, die LED wenn sie dann mit wenig Strom leuchtet (keine 20mA LED!) muss dann mit ihrer K(athode) nach GND.
    als Sink gibt ein GPIO auf low -> 0 -> 0V aus, die LED wenn sie dann mit wenig Strom leuchtet (keine 20mA LED!) muss dann mit ihrer A(node) nach 3,3V.

    Blaue und Weisse LED leuchten aber schwach weil die Spannung selten reicht, ab 3,xV benötigt, nur Rote und Grüne LED kommen mit ca. 2V aus, der Rest muss am Vorwiderstand verbleiben.

    Bei RGB LED gibt es welche mit gemeinsamer Anode oder mit gemeisamer Kathode, danach bestimmt sich die Schaltung ob sie high aktiv oder low aktiv geschaltet werden.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Danke für die schnelle Antwort

    Es ist, soweit ich weiß, eine Kathoden-LED.
    Die LED stammt aus dem Sunfounder Super Kit for Raspberry Pi.
    Seltsam ist ja, dass diese RGB-LED an anderen Ports normal funktioniert. Daher kann es eigentlich nicht an der LED liegen. Sie hatte auch schon in einem früheren Projekt normal funktioniert, als ich sie an GPIO4, 17 und 27 angeschlossen habe. Laut GPIO-Datenblatt haben allerdings sämtliche Ports, an denen ich die LED's
    angeschlossen habe, die gleichen Eigenschaften.
    Ansonsten funktionieren die LED's völlig normal.


  • ....edit: Nach der ausführlichen Antwort von jar, möchte ich noch auf folgende FAQ verweisen:

    https://www.forum-raspberrypi.de/Thread-faq-wie…eber-einen-gpio

    vielleicht möchtest du das noch mal überarbeiten?

    Zitat


    Ein GPIO liefert 3,3V und darf mit maximal 16mA belastet werden, wie hier ausführlich erklärt wird

    Einer möglicherweise wenn alle Ausgangstreiber sicher! eingeschaltet sind, aber wer weiss das?

    Alle GPIO dürfen nicht mit je 16mA zugleich belastet werden, weil das der SoC nicht leisten kann.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (5. Februar 2016 um 11:15)


  • Es ist, soweit ich weiß, eine Kathoden-LED.

    Ja nee, is klar. Jede LED hat eine Kathode und eine Anode. das kurze Beinchen ist die Kathode, das lange Beinchen ist die Anode. Vielleicht liest du dir nochmal den Beitrag von jar durch und dann fällt dir an deiner Schaltung oben auf, wie du die LEDs angeschlossen hast und überlegst... GPIO -> LED -> VCC bzw. GPIO -> LED -> GND

    Gruß

Jetzt mitmachen!

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