LED mit Pyhton über GPIO ansteuern schlägt fehl

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

    ich möchte eine LED mit dem Pi3 über python "steuern", dies funktioniert aber aus unbekannten gründen nicht.

    erstmal zum Aufbau und der Vorgehensweise:

    Der Pi3 wird mit einem GPIO-Coppler an ein Board verbunden wo sich die elektrischen Komponenten befinden. Der Coppler ist von Vilros (https://www.amazon.de/Vilros-Raspberry-Pi-Ultimate-Kit/dp/B01CYQJP9O/ref=sr_1_1/258-1928577-1787537?ie=UTF8&qid=1504778886&sr=8-1&keywords=raspberry+pi+3+vilros&tag=psblog-21 [Anzeige])

    LED mit Vorwiderstand auf GND gelegt. LED auf PIN 1 (3,3V) gelegt -> LED leuchtet dauerhaft rot.
    Anschließend habe ich die LED auf PIN 12 (GPIO1) verbunden und mit Python3 (IDLE) ein Programm geschrieben.
    Aus Testzwecken erst "Hello-World" und das funktioniert.

    Nun das Programm für die LED:


    Schließlich lasse ich das Programm laufen und es kommt folgende Ausgabe:

    HIGH0
    LOW0
    HIGH1
    LOW1
    HIGH2
    LOW2

    ABER an der LED ist nichts zu sehen, alles bleibt dunkel. Auch habe ich die GPIO nr und entsprechend das Programm geändert - selbe Problem.
    Schließe ich die LED wieder an 3,3V (PIN1) an, leuchtet sie sehr stolz und fröhlich. :bravo2:


    Welche Gründe könnte es haben?

    Bin um jeden Rat dankbar.


    Danke und Gruß
    Luepues

    Einmal editiert, zuletzt von luepues (7. September 2017 um 12:35)

    • Offizieller Beitrag

    Hallo,

    zum "steuern" einer LED wurde ich Dir erstmal gpiozero empfehlen. Hinweis: Dort gelten GPIO-Nummern, NICHT Pin-Nummern.

    Zu Deinem Fall... Pin 12 ist GPIO 18 und nicht 01!

  • Wenn ich mich nicht irre, benutzt du die falsche Pin Referenz.

    Wenn du GPIO.setmode(GPIO.BOARD) benutzt, beziehst du dich auf die physische Pinnummer (hier 1 und nicht 12).
    Ändere LED = 12 in LED = 1.

    Wenn du den Pin GPIO12 mit der Nummer 12 ansteuern willst, musst du GPIO.setmode(GPIO.BCM) verwenden.

    Blödsinn! :blush:

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    Einmal editiert, zuletzt von Gnom (7. September 2017 um 15:41)

    • Offizieller Beitrag
    Zitat von "hyle" pid='298740' dateline='1504781611'


    Hallo,

    zum "steuern" einer LED wurde ich Dir erstmal gpiozero empfehlen. Hinweis: Dort gelten GPIO-Nummern, NICHT Pin-Nummern.

    Zu Deinem Fall... Pin 12 ist GPIO 18 und nicht 01!

    Schon das alleine disqualifiziert doch diese Bibliothek. Wer denkt dich denn sowas dummes aus? Hey! entweder nehmen die einfache Methode, die man Notfalls durch simples zählen nachprüfen kann oder wir nehmen die, wo irgendwelche Enden des Chips abstruse Nummern kriegen und diese dann zufällig auf die Stiftleiste verteilt wurden, die auch in keinster Art und Weise durch Sicht überprüft werden können.

  • Was ich oben geschrieben habe ist Quatsch - es ist ja vorgeblich genau andersrum.
    Aber GPIO1 gibt es gar nicht und Pin 12 ist GPIO18 .
    Ansonsten müsste es stimmen, denn du hast geschrieben, du hast BOARD konfiguriert und Pin 12 verbunden und auch GPIO Nr 12 aktiviert.

    Schick doch mal ein Foto deiner Schaltung...

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Zitat von "Gnom" pid='298755' dateline='1504791636'


    Was ich oben geschrieben habe ist Quatsch - es ist ja vorgeblich genau andersrum.
    Aber GPIO1 gibt es gar nicht und Pin 12 ist GPIO18 .
    Ansonsten müsste es stimmen, denn du hast geschrieben, du hast BOARD konfiguriert und Pin 12 verbunden und auch GPIO Nr 12 aktiviert.

    Schick doch mal ein Foto deiner Schaltung...

    An diese Schaltung bzw. PIN-Belegung habe ich mich immer an folgende Belegung gehalten:

    http://docplayer.org/8472990-Raspbe…rtgenossen.html
    (Seite 5)

    Reden wir da von dem Gleichen? Denn da wird es als GPIO1 deklariert. Sorry bin Anfänger.


    Danke schon mal für eure Hilfe und Zeit.

    Gruß

    • Offizieller Beitrag
    Zitat von "dbv" pid='298750' dateline='1504789199'


    Schon das alleine disqualifiziert doch diese Bibliothek....

    Ich empfinde es in der Tat auch als lästig, wenn man jedes mal erst die GPIO-Tabelle zum nachprüfen öffnen muss. Gut, ich muss dadurch konzentrierter handeln, nervig bleibt's dennoch. Das ist m.E. aber ein Manko das ich gerne in Kauf nehme, da die Nutzung von gpiozero sonst sehr simpel ist. Der TE will momentan ja nur eine LED zum blinken bringen, später evtl. die Helligkeit ändern oder mit einem Button schalten. Letzteres sind mit gpiozero gerade mal 7 Zeilen Code. Und das allein schon ist ein gutes Argument dafür. ;)

    Automatisch zusammengefügt:

    Hallo luepues,

    sieh mal hier https://gpiozero.readthedocs.io/en/stable/reci…l#pin-numbering

    In dem von Dir verlinkten Buch ist BCM die GPIO-Nummer! Aber Pin 28 ist nicht GPIO 12... :s

  • Hallo,
    der von dir gepostete Code ist nicht lauffähig:

    Code
    File "test.py", line 20
        print("LOW") + str(i))
                             ^
    SyntaxError: invalid syntax


    So läufts^^

    Die passende Verkabelung siehe Anhang

    Der untere Widerstand ist für was anderes...wo ich eigentlich gerade angefangen hatte....deswegen auch das Bild und kein Schaltplan :) :thumbs1: Hoffe ich konnte dir weiter helfen.

    Und in der Tat, ist auch in meinem Buch das so angegeben:
    Pin 12 -> BCM 18 -> Name GPIO 1

    ...und ja...normal gehört da noch n Transistor hin ;)

    EDIT: Bild ist zu unerkenntlich...deswegen doch per Fritzing

    • Offizieller Beitrag
    Zitat von "Hofei" pid='298774' dateline='1504801598'


    Und in der Tat, ist auch in meinem Buch das so angegeben:
    Pin 12 -> BCM 18 -> Name GPIO 1

    Das ist die Nummer des WiringPi-Pin also genau genommen nicht die gängige GPIO-Bezeichnung. In dem Falle so: Pin 12 -> GPIO 18 -> WiringPi 1

    Siehe hier: http://wiringpi.com/pins/

    • Offizieller Beitrag

    Von offizieller Seite (https://www.raspberrypi.org/documentation/…aspi2/README.md) wird ganz unten folgende Übersicht incl. Beschreibung verlinkt: https://pinout.xyz ;)

  • Hallo und sorry dass ich mich jetzt erst melde, war kurzfristig im Urlaub...

    Bin deiner Beschreibung gefolgt und habe ohne Nachzudenken deinen Anweisungen befolgt und siehe da es klappt :bravo2: . Dafür erstmal recht herzlichen Dank, auch an die anderen User, welche sich die Zeit genommen haben.

    Jetzt muss ich nochmal nachvollziehen woran es lag :s .
    Das Code-Schnippselchen mit "LOW" funktioniert aber auch.

    Ich danke euch!

Jetzt mitmachen!

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