Led blinkt nicht

  • Hallo,
    ganz kurz:




    from time import sleep
    import RPi.GPIO as GPIO


    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(3, GPIO.OUT)


    while(True):
    GPIO.output(3, True)
    sleep(1)
    GPIO.ouput(3, False)
    sleep(1)




    Wieso leuchtet meine LED nicht? Liegt mein Raspberry PI B+ so vor mir, dass die USB Buchsen oben rechts über der Buchse für das Lan Kabel sind, dann ist bei mir der zweite GPIO unten der Plus Pol und der dritte GPIO in der Reihe oben der Minuspol. :)


    Ich bekomme keine Fehlermeldung! Es tut sich einfach nur nichts.


    Freue mich über schnelle Hilfe! :)

  • Wegen der Spannung etc. kann ich dir nicht weiterhelfen. Anbei ein Beispielcode:


  • Quote

    Also Bei dem Bild ist das Kabel an dem zweiten von oben links. Und das andere Kabel ist rechts an dem dritten von oben.


    Das ist m.E. richtig angeschlossen.


    Kurze Checkliste:
    1. Diode verpolt?
    2. Vorwiderstand zu gross?
    3. Vorwiderstand zu klein? In diesem Fall wird aus Bytekiller schnell Pikiller :blush:
    4. Was für eine Diode verwendest du? Wieviele mA braucht sie um zu leuchten?
    5.Welche Spannung soll an der Diode abfallen (Spezifikation)?
    5. GPIO Port kaputt? (Am ersten pin (+3.3V) oben links anstatt am zweiten anschliessen - die Diode leuchtet permanent - hoffentlich)

  • Code
    while(True):
        GPIO.output(3, True)
        sleep(1)
        GPIO.ouput(3, False)
        sleep(1)


    Die Einrückung fehlt auch, kommt aber evtl. durch Kopie und Paste ...


  • Wenn Du den 2ten Pin oben links angeschlossen hast, dann ist das GPIO2 und nicht 3 wie in deinem Program angesprochen.


    Umstöpseln oder Program anpassen.


    Gruss Dragi


    Zwischen GPIO.BOARD und GPIO.BCM gibt's nen Unterschied ;)


    Also habe ich das richtig gemacht? Also GPIO.BOARD und 3 ist richtig?



    1.Bedeutet Diode verpolt, dass ich Plus und Minus vertauscht habe? Habe es auch schon andersherum ausprobiert und das funktioniert auch nicht. :)
    2. & 3.MUSS ich einen Widerstand verwenden? Ohne Widerstand kann meine LED auch leuchten und bisher ist nichts kaputt gegangen. :D :D
    War das bisher nur Glück?
    4.Auf der Packung der LEDs steht: 20-24mA, 2,9-3,2V
    5.Kaputt sollte er eigentlich nicht sein. :D

    Code
    while(True):
        GPIO.output(3, True)
        sleep(1)
        GPIO.ouput(3, False)
        sleep(1)


    Die Einrückung fehlt auch, kommt aber evtl. durch Kopie und Paste ...


    Einrückungen habe ich. :)



    Danke schon mal für eure ganzen Antworten! :)

  • Quote

    War das bisher nur Glück?


    Ja.
    Der Pi liefert 3.3V, deine Diode ist bis zu 3.2V spezifiziert.


    Generell gilt:
    Ein einzelner GPIO soll nicht mehr als 2mA treiben wenn er als Ausgang auf HIGH steht.
    Umgekehrt, wenn der GPIO als Ausgang auf LOW steht, soll er bis zu 16mA "schlucken" koennen.
    Ich weiss nicht ob ein GPIO 20mA liefern kann und wann er kaputt geht (Ich wollte es bisher nicht darauf ankommen lassen). Koennte also durchaus sein dass du den GPIO bereits ruiniert hast. Deshalb mein Tip in Punkt 5, die Diode direkt zwischen + und - anzuschliessen und zu sehen ob die Diode dauerhaft leuchtet.


    Probiers mal so:
    Anode an +3.3V, Kathode an GPIO. Wenn du einen 18 Ohm Widerstand zur Hand hast, mach den noch dazwischen damit die Diode nicht ausserhalb der Spezifikation betrieben wird.

  • Hallo Dreamshader,


    soweit ich weiss, werden die Pullup-Widerstände nur durch bestimmte Befehle aktiviert.


    Wenn Du kein I2C, SPI und wie sie alle heissen, über modprobe dazu geladen hast, verhalten sich alle als GPIO-Pin Nr. sonstwas gekennzeichneten Pins identisch.


    Das heisst, wenn Du eine LED mit einem Widerstand von z.B. z.B. 620 Ohm anschliesst und ein entsprechendes Programm hast, dann leuchtet die LED an jedem GPIO exakt gleich hell.


    Wenn dies nicht so ist, dann ist dies wiederum ein Hinweis darauf, dass Zusatzfunktionen der einzelnen GPIO-Pins aktiviert sind.


    Ich denke :s, wir sind sollten mit solchen Äusserungen immer aufpassen und unterscheiden, welche Module die Anwender aktiviert haben oder nicht.


    Wenn Du alle möglichen Zusatzfunktionen aktiviert hast, dann gilt Deine Aussage für Deine RPi-Umgebung und alles ist richtig. Und meine Aussage (LED + Widerstand an GPIOs anschliessen === alles leuchtet gleich hell) gilt dann bei Dir vielleicht nur für 5 GPIO-Pins.



    Bei meinem RPi weiss ich, dass die LED mit Widertand an jedem GPIO-Pin exakt gleich hell leuchtet, dass somit keiin PullUp aktiv ist, weil ich momentan keine Zusatzfunktionen aktiviert habe. Vielleicht ist aber Morgen / Übermorgen / nächsten Monat alles ganz anders.


    Beste Grüsse


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hi,


    tja ... also mir ist lediglich bekannt, dass die beiden I/Os wohl eine Ausnahme zu den anderen GPIOs darstellen und z.B. geladene Module, wie Du es erwähntest, auf diese Problematik gar keinen Einfluss haben.
    Es sei denn, ich hab' da irgendwas falsch verstanden:


    -> Click <-,
    -> click <-,
    -> click <-,


    ... usw


    cu,
    -ds-

  • Hi Dreamshader,


    meine Erkenntnisse beziehe ich aus einem Pojekt vom letzten Jahr, an dem ALLE 17 GPIO des GPIOP-Port (P1) mit LEDs belegt sind, um unterschiedliche Prozess-Stati einer Fertigungsanlage, die ich entwickelt und programmiert habe, anzuzeigen.


    Verschiedene LEDs (rot, grün, gelb, DUO-LED (rot/grün)), alle LEDs mit Widerständen versehen, die bei Anlegen von 3V3 ziemlich exakt 2 mA fliessen lassen.


    Keine Zusatzfunktionen aktiviert (also kein modprobe von Dingen, die sich auf GPIO auswirken)


    Als ich während der Programmentwicklung zu Testzwecken mal alle GPIOs eingeschaltet hatte, leuchteten alle gleichartigen LEDs gleich hell. Wenn ein Widerstand von rund 2000 Ohm dazu führt, dass die von mir eingesetzten Standard-LEDs praktisch nur noch unmerklich glimmen, kann ich mir nicht vorstellen, dass irgendwo ein PullUp von mehreren kOhm "aktiv" sein kann. Dann dann dürfte kein Lichtlein brennen...



    Es gibt zwar einen GPIO-Pin, wenn ich mich richtig erinnere ist dies GPIO14, der beim Hochfahren wild flackert. Aber nach dem Hochfahren verhält der sich wie jeder der 16 anderen am P1 auch.


    Beste Grüsse


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().

  • Hi Andreas,


    wie gesagt - mir ist nur bekannt, dass es wohl Probleme mit den beiden I2C-Pins gibt. Und mir ist auch noch nichts untergekommen woraus sich entnehmen ließe, dass die Pullups einfach so per Software abgeschaltet werden können. Im Gegenteil - da werden sogar von Erweiterungsboards Pullups entfernt, um sie am RPi betreiben zu können.
    Ich tendiere bei solchen Aussagen dann lieber dazu sicherheitshalber anzunehmen, dass es wohl nicht (oder zumindest nicht so ohne weiteres) möglich ist, diese beiden Pins zu etwas anderem als I2C zu benutzen.
    War im Übrigen ja nur als Hinweise gedacht, das mal in Betracht zu ziehen und ggf. auf andere Pins auszuweichen.
    Wenn Du aber sagst, dass man das ausschliessen kann ... ok ... man lernt nie aus. Ich steck da trotzdem vorsichtshalber nur nen I2C Bus an.


    cu,
    -ds-

  • Hi Dreamshader,


    was ich mir noch vorstellen könnte... :s und was auch durchaus Sinn macht :cool: it Folgendes:


    Ich programmiere auf dem Raspberry Pi ja überwiegend nur in Icon. Meine in Icon geschriebene GPIO-Bibliothek aktiviert und ermöglicht nur die Standard-Funktionalitäten - momentan keine Zusatzfunktionen. Aber das kommt bestimmt noch, weil ich einige Zusatzfunktionen für eine neue Entwicklung benötigen werde.


    Ich habe mir den Quellcode von WiringPi und PigPiO - und wie die anderen Teile auch heissen mögen - nicht wirklich intensiv angeschaut. Ich halte es für durchaus möglich, dass diese Bibliotheken bei deren Aufruf einen vom Anwender definierten "Standard" aktivieren (falls nicht bereits über modprobe aktiviert), worunter dann bei einigen GPIO-Pins auch Zusatzfunktionen verstanden werden können.


    Diese führen bei Dir und anderen zu einem anderen Verhalten als bei mir.


    Somit ist die Welt für Dich in Ordnung - für mich sowieso. Jeder weiss, wie er sein System zum gewünschten Verhalten bringen kann.


    Beste Grüsse


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().