GPIOS(>24) ansteuern Python Fehler

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

    Da ich ganz neu bin und seit kurzem ein Raspberry PI B+ besitzen komm ich als Anfänger nicht mehr weiter.

    Zur Zeit versuche eine LED mit Python anzusteuern.
    Dieses Klappt ganz gut. Nur wenn ich einen höheren GPIO als 24 ansteuere bekomme ich eine Fehlermeldung:

    Traceback (most recent call last):
    File “ka.py“, line 4, in <module>
    GPIO.setup(40, GPIO.OUT)
    valueError: The channel sent is invalid on Raspberry


    Ich habe keine Ahnung da die Bibliothek 0.5.8 das Modell B+ doch unterstützt oder?!
    Hoffentlich könnt ihr mir weiter Helfen.

    mfg Cooky

    PS: Ich hoffe der Bereich Python ist richtig.

  • Das ist das Script:

    Ich verwende nicht wiringPi da ich mir nur die Bibliothek RPi.GPIO 0.5.8 geholt habe.
    Sollte ich mal wiringPi mal Testen?

  • Ein Update hat nichts gebracht.
    Die Konfiguration von BCM hat den Fehler bis jetzt behoben.
    Ich konnte die GPIOS 18(PIN12) und 21(PIN40) ansprechen.
    Warum nur BCM einwandfrei Funktioniert habe ich keine Ahnung.
    So ein großen unterschied gibt es zwischen den beiden doch nicht oder?

  • Es gibt gewisse Unterschiede die beachtet werden müssen:

    # use the raspi board pin number
    GPIO.setmode(GPIO.BOARD)

    # use the gpio number
    GPIO.setmode(GPIO.BCM)

    So wäre zum Beispiel GPIO4 = Pin#7. Aber GPIO7 wäre Pin#26.

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

    Wäre also Pin#40 und somit GPIO#21

    Je nach RaspberryPI Modell gibt es mit GPIO.BOARD keine Pins >26

  • Hallo zusammen,

    zwar möchte ich mich hier nicht einmischen. Aber vielleicht kann ich ein wenig dazu beitragen.

    Ich habe ja auch eine GPIO-Library geschrieben, die sich in kleinem Kreise (Programmierer, in Icon entwickeln) einer gewissen Beliebtheit erfreut, denn diese ist in und für die Programmiersprache geschrieben. Mit Einführung der RPi-Modelle A+ / B+ und mit dem Modell Pi2 habe ich auch meine Icon-Library angepasst.

    Diese Library erkennt, welches RPi-System angeschlossen ist und stellt die dafür gültigen Pins zur Verfügung. Andere vom Programmierer darüber hinaus angesprochenen GPIO-Pins werden dann logischerweise ignoriert.

    Dadurch kann der Nutzer von Altsytemen wie der Board-Revision 1, der Board-Revision 2 sowie A+ / B+ und der neuesten Pi 2 / Compute Modul die jeweils gültigen Pins ansprechen. Wenn er Quellcode anderer Modelle auf sein individuelles System übertragen möchte, nutzt er ganz einfach die einschlägig bekannten GPIO-Layouts und "übersetzt" die GPIO-Pin-Bezeichnungen.


    Beste Grüße

    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

    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.

  • So ich hatte das problem nun auch mal und zwar auf 2 Zeros.
    Zero Nr.1 hab ich versucht einen MCP3008 zu lesen(darf ich mal so nennen?). (Jessie von März 16)
    Zero Nr.2 war auf einem älteren Raspbian was ich vor 2 tagen upgedatet hab. (Jessie von Dec 15)
    Herrausgefunden hab ich das es nach dem Update erst nach umstellung des Script von BOARD auf BCM wieder funktioniert hat.

    :shy: Legastheniker :shy:

    wer fehler findet darf nachsicht haben

    Klick>Youtube Channel<Klick

Jetzt mitmachen!

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