Raspberry PI 2 GPIO

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Guten Abend,
    ich habe mir vor kurzem ein Raspberry PI 2 gekauft.
    Nun habe ich etwas damit rumgespielt, aber ich komme bei dein GPIO Pins nicht sehr weit.

    Ich wollte eine LED im 1 Sekundentakt Blinken lassen so als kleines aber feines Testprojekt.
    Wenn ich das script ausführe startet es wie es soll, aber egal wie ich die LED anschließe es funktioniert nicht :/

    Meine Code:


    Um den Code zu starten führe ich folgende Befehle aus:
    cd /home/pi/workspace

    sudo python Blinken.py

    Dann werde ich gefragt in welchem Abstand die LED Blinken soll (z.B. = 1)
    der print befehl wir exakt ausgeführt jede Sekunde an und wieder aus

    Das Raspberry ist folgendermaßen angeschlossen
    Zuleitung der LED + Vorwiderstand an PIN11
    Rückleitung an die Maße der PIs


    Aber es geht einfach nicht und ich weiß meinen Fehler nicht -.-*

  • Hallo Flipzockt,

    abhängig vom Parameter zu GPIO.setmode() werden unterschiedliche Bezeichnungsweisen des GPIO-Ports und seiner Pins unterstützt.

    Der Parameter GPIO.BOARD verwendet die physikalishe Nummerierung der Pjns. Beim GPIO-Port beginnt dieser bei 1 (quadratische Lötfahne), Pin 2 auf der anderen Seite, Pin 3 unterhalb Pin1, ... etc.

    Der Parameter GPIO.BCM verwendet die Broadcom SOC-Channel-Nummerierung.

    Da Du keine Schaltung gepostet hat, kann keiner von uns wissen, was DU mit Pin 11 meinst. Denkbar ist auch der Fall, dass Du irgendeinen Pin 11 mit Deinem Programm ansteuerst, Deine Schaltung aber einen anderen Pin11 erwartet...


    Eine gute Hilfe könnte dieser Link für Dich sein.

    Äh ... hast Du die DeviceTrees aktiviert? Ohne deren Aktivierung macht's am GPIO keinen Mucks...


    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.

    Einmal editiert, zuletzt von Andreas (16. Mai 2015 um 10:27)

  • Ehm, noch nie etwas von DevicesTree gehört.
    Schaltung:
    Linke reihe der 6 pin + der led über einen vorwiderstand und - der LED an einen ground PIN

    In meiner config steht:
    device-tree=

    Einmal editiert, zuletzt von Flipzockt (16. Mai 2015 um 11:30)

  • Hallo Flipzockt,

    der Eintrag muss aber so lauten:

    Code
    device_tree=

    Damit wird der frühere Zustand (ohne DeviceTrees) erreicht.


    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.

    Einmal editiert, zuletzt von Andreas (16. Mai 2015 um 11:53)

  • Hallo Leute,

    ich habe bei meinem Raspberry Pi B Rev.2 bisher noch nicht mit Device Tree zu tun gehabt, darum musste ich mich gerade erstmal ein wenig einlesen. Ich verstehe allerdings nicht, was DT mit dem hier beschriebenen Problem zu tun hat. Wird das nicht erst interessant, wenn man etwas mit SPI, I2C oder so machen will und darum entsprechende Module laden muss. Die GPIOs als digitale Ein- und Ausgänge müssten doch funktionieren, egal ob DT aktiviert ist oder nicht und ohne das Laden von Modulen. Oder habe ich da etwas überlesen?

    Zur Frage des TE kann ich sagen, dass ich den Fehler nicht finden kann. Aber ich gebe dir mal den Tipp, das ganze im Python Interpreter mal Schritt für Schritt durchzugehen. Dabei auch mal mit einem Messgerät am Pin messen ob sich der Pegel ändert. Dadurch findet man manchmal den blödesten Fehler, den man trotz 3-mal draufschauen nicht gesehen hat.

    Oder du probierst es erstmal mit WiringPi und gpio direkt in der Shell. Direkte Befehlseingabe mit direktem Ergebnis, ohne Umweg über ein Script. Mit gpio readall lassen sich auch direkt alle Pins abfragen, mit Werten und Angabe, ob sie als Ein- oder Ausgang geschaltet sind.

    Viel Erfolg
    Robert

    Einmal editiert, zuletzt von rob.z (16. Mai 2015 um 13:03)

  • Hallo Flipzockt,

    dann hilft wohl nur noch, wenn Du die Schaltung postest bzw. ein Photo hochlädst.

    Wenn Du ein digitales Messgerät hast, dann hänge es doch mal in der Einstellung "20 V" an Deinen Pin 11 und Deinen GND-Pin. Wenn Du hier keinen Wechsel von ca. 3,3 V und 0,0 V siehst, dann ist die Fehlerursache woanders zu suchen.

    Beste Grüße

    Andreas

    Hallo Flipzockt,


    Gibts dazu gute tutorials?[/size]

    DeviceTree Tutorial

    Wie groß ist denn Dein Vorwiderstand? Hast Du diesen auch eingesetzt, als Du die LED direkt mit 3V3 (Pin 1) und GND verbunden hast?

    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.

    Einmal editiert, zuletzt von Andreas (16. Mai 2015 um 13:57)

  • Also, ich habe den oben genannten Code in Python programmiert.

    Und in der linken PINReihe habe ich den 6 PIN als ZUleitung meiner LED genutzt.
    Die Zuleitung geht über einen passenden Widerstand.
    Der Minuspol der LED ist an einen Groundpin angebracht.

    Nun nochmal meine frage was kann falsch sein?
    Wo gibts es GUTE Tutorials zu GPIO Pins?

    MFG Flip

  • Moin, Moin

    zu deinem Code: beim 2. sleep fehlen die Klammern, dann funktioniert er aber, was zu erwarten war. Hab ihn einfach mal direkt kopiert und ausprobiert.

    Hast du denn jetzt mal mit einem Messgerät am Pin gemessen, ob er auf 3,3V geht? Oder mit 'gpio readall' den Status abgefragt?

    Welche Pinreihe ist den bei dir links? Die Innere oder die Äußere. Was für eine LED verwendest du und wie groß ist dein Widerstand? Hast du mal einen anderen Pin versucht? Vielleicht solltest du wirklich mal ein Bild der Schaltung posten.

    Bei Youtube gibt es einige Tutorials zu dem Thema - einfach mal suchen. Diesen Clip kann ich empfehlen. Der Typ macht das ziemlich gut. Kurz und bündig, professionell erstellt, viele kurze Clips rund um den Raspi.

    Gruß
    Robert

    Einmal editiert, zuletzt von rob.z (17. Mai 2015 um 07:25)

  • Also, ich habe jetzt mal gpio readall gemacht.
    Mir scheint es so als wären alle PINS als input markiert.
    PI.PNG?dl=0http:

    Danke im vorraus.

    Link zum Bild
    https://www.dropbox.com/s/wadd94zb1zvfy84/PI.PNG?dl=0

    Also mit "GPIO write xx 1/0" und vorher natürlich mit "GPIO mode xx OUT" habe ich es geschafft die LED an- bzw auszuschalten. Sprich der PIN funktioniert.

    Nun meine frage wie kann ich das in einer programmier umgebung ausführen?
    Gibt es eine programmier umgebung die das so unterstüzt weil Python hat bei mir nicht funktioniert

    Einmal editiert, zuletzt von Flipzockt (21. Mai 2015 um 17:21)

  • Wenn Python bei Dir nicht funktioniert hast Du was falsch gemacht, zumal es mit wiringPi ja geht. Gibt die Konsole den "ein" und "aus" aus? Oder kommt eine Fehlermeldung? Lass Dich nicht entmutigen. Die GPIO-Library für Python hast Du doch installiert, oder? Sonst würde spätestens da eine Fehlermeldung kommen. Der 6. Pin stimmt auch. Da kann nur der Wurm im Script sein.

  • Hallo Flipzockt,

    Du suchst eine Programmierumgebung für GIO?

    Kennst Du mein GPIO-Kontrollzentrum? Dieses kannst Du hier finden.

    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.

    Einmal editiert, zuletzt von Andreas (13. Oktober 2017 um 22:29)

  • Hallo,

    laut Google muss beim RasPi 2 zur Verwendung des RPi.GPIO-Moduls DeviceTree aktiviert sein. Dazu darf der Parameter 'device_tree=' NICHT in der /boot/config.txt stehen, da durch diesen Parameter DeviceTree deaktiviert wird. Es sollte auch die neueste Version des RPi.GPIO-Moduls installiert sein (0.5.11).

    Robert

  • Hallo Jörg,


    Andreas: Ich weiß Du stehst auf ICON und verteidigst die Sprache wie eine Mutter sein Kind, aber etwas exotisch ist das doch. Leider ist deine GPIO-Library die einzige die es für ICON gibt, dafür erst mal meinen Respekt für die Arbeit die Du Dir gemacht hast.

    Gibts da eigentlich Interrupts?

    Ja, Interrupts gibt es auch - aber nicht in der Version, die ich hier im Forum veröffentlicht habe. Den Interruptgedanken habe ich wesentlich weiter gefasst, als er hier im Forum verstanden wird (wie meistens steigende / fallende Flanken am GPIO abzufragen). Beliebige Ereignisse können als Interrupt-Ereignisse definiert werden.

    Warum muss es mehr als eine GPIO-Library geben, um Akzeptanz zu finden? Mit der vorhandenen GPIO-Library ist bereits extrem komfortables Programmieren möglich.

    Außerdem hat Flipzockt von Problemen berichtet, die er mit Python und GPIO hat. Da denke ich, dass es vollkommen legitim ist, ihm etwas zu empfehlen, das seit 2013 in zahlreichen Anwendungen und abgeschlossenen Entwicklungen (inkl. Auftragsentwicklungen für Industriebetriebe) fehlerfrei läuft.


    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.

    Einmal editiert, zuletzt von Andreas (21. Mai 2015 um 22:34)

Jetzt mitmachen!

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