GPIO Pintest

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

    ich habe heute auf meinen Raspberry Pi einen GPIO Header aufgelötet. Nun würde ich gerne testen, ob alle Pins denn klappen. ich habe dazu dieses Tool gefunden:
    http://wiringpi.com/the-gpio-utility/pin-test/

    Laut dem Tool sind meine Pins alle okay aber ist das auch aussagekräftig? Ich weis irgendwie nicht wie das Programm das feststellen soll.

    Anderseits und das wäre meine eigentliche Frage, kennt jemand ein Python Script zum Testen der GPIO Pins?

    Vielleicht eine LED an jeden Pin einmal anschließen und nach und nach durchlaufen lassen?

    Danke schonmal

    Gruß Kokiri


  • Laut dem Tool sind meine Pins alle okay aber ist das auch aussagekräftig? Ich weis irgendwie nicht wie das Programm das feststellen soll.

    pintest testet die Reaktion der GPIOs auf ihr Verhalten bei ein und ausschalten der internen Pull Up/Down Widerstände. Der Test sagt dir maximal, ob es irgendwo einen Kurzen gibt. Der Ausgang wird nicht getestet.
    Die Idee mit der LED ist zwar gut, aber aufwendig. Anders wird es nicht gehen. Also mit dem gpio-tool von wiringPi jeden GPIO einmal ein- und ausschalten und dabei die LED immer umstecken.

  • Hallo Kokiri,

    auch auf die Gefahr hin, mit meiner Antwort Prügel einstecken zu müssen, das kürzeste Programm, mit dem Du die Funktionsfähigkeit Deiner GPIO-Pins testen kannst, ist dieses:

    Dieser Code (Programmiersprache Icon) schaltet alle GPIO-Pins, die auf dem jeweiligen Modell existieren, zuerst ein (dabei implizit als Ausgang), wartet 250 ms, schaltet sie wieder aus, wartet 250 ms und wiederholt das, bis Du das Programm beendest.

    Du kannst dann LEDs MIT VORWIDERSTAND ~ 680 Ohm an die Pins hängen bzw. anschließen und siehst es dann blinken. Der eine LED-Pin hängt am GPIO-Pin, der andere bleibt bei GND. Blinkt es nicht: LED umdrehen und neu versuchen - oder die GPIOs funktionieren nicht.


    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 (6. April 2017 um 20:17)

  • Möchtest du eine GUI haben um die GPIOs durch testen zu können? Dann könntest du folgendes nutzen: https://github.com/scotty3785/pyt…PIO_GUI/gpio.py
    Das ist ein wirklich geniales Tkinter Script.
    Falls du dich via SSH verbindest und kein Monitor direkt am Pi angeschlossen hast kannst du das Script trotzdem nutzen, mithilfe von: FAQ => Nützliche Links / Linksammlung => Grafische Umgebung über Netzwerk mit X11-Forwarding (Xming)

    Alternativ aber etwas umfangreicher zu installieren und fürs Web aber ebenfalls in Python geschrieben, wäre: http://webiopi.trouch.com
    Ebenfalls sehr genial.

  • Hey zusammen,

    zuerst einmal vielen Dank für die vielen Antworten. Heute ist das Breadboard, Jumperkabel, Widerstand und die LED angekommen.
    Jetzt kommt der praktische Teil, vielmehr der Aufbau. Ich möchte keinen Fehler machen, um meinen Pi in den Himmel zu schicken.
    Habe da gerade das Thema vom "heißen" Pi im Hinterkopf :^^:
    Nein aber Spaß beiseite bei meinem Aufbau dürfte an sich ja nichts "kaputt" gehen können.
    Dennoch möchte ich mich nochmal absichern. Ich schließe die LED letztlich immer an den GND des Pi's an und dann jeweils einen Jumper an die anderen GPIO' richtig?

    Kann ich damit alle Pins durchstesten? Also Quasi ein Jumper an GND und die anderen 39 durchtesten?
    GPIO ist für mich noch absolutes Neuland.

    meigrafd Gibt es eine Xming Alternative für Linux, da ich kein Windows nutze, sondern nur Ubuntu Mate.

    Vielen Dank schon mal

    Gruß Kokiri

    Einmal editiert, zuletzt von Kokiri (8. April 2017 um 10:20)

  • Wenn du sichergehen willst, nimm immer einen Basis-Widerstand und einen Transistor, eine Tüte mit 100 Stück BC547B kosten 2€ + 2€ Versand:
    http://www.ebay.de/itm/100-x-BC54…A-/110953732220

    P.S. Was für eine LED hast du ?
    Zum Thema Vorwiderstand, damit du nicht die LED grillst :
    http://www.led-treiber.de/html/vorwiderstand.html

  • Hey,

    so ich bin jetzt mit dem Aufbau fertig. Ich hoffe niemand zieht mir die Ohren lang bei dem Aufbau, sonst einfach bescheid sagen, wie ich es anders machen muss :^^:


    aufbaum8o8z.jpg

    Ich hatte mich bei der Anschaffung an den Tipp von Andreas gehalten.
    Das waren die zwei Teile hier:


    Das Zweite soll eine Blink LED sein, welche keine externe Blinksteuerung braucht. Farbe grün, weil es meine Lieblingsfarbe ist :blush:

    Ansonsten habe ich den Widerstand an die Kathode, also an dem kurzen Stück der LED angeschlossen. Von dem Widerstand geht es auf Pin 9 und von der LED zum Pin 3.
    Als Leihe würde ich sagen, dass ich mit der Verkabelung so jetzt den GPIO 2 testen kann richtig? Wie sieht es denn mit den anderen Pins aus wie z.B 2 und 4. Das ist ja kein GPIO Pin. Nur mit einem Multimeter?

    Ich habe den GPIO Header halt selbst aufgelötet und würde gerne wissen, ob alle Pins funktionieren.
    Daher der ganze Aufbau.

    fred0815 Ich bin in dem Gebiet total unbeholfen. Was macht so ein Transistor und der Basiswiderstand denn?

    Lieben Gruß Kokiri

    Einmal editiert, zuletzt von Kokiri (8. April 2017 um 11:49)

  • Transistoren sind aktive Bauelemente, also Verstärker.
    Widerstände sind passive Bauteile.
    Der Widerstand an der Basis würde verhindern, dass zu viel Strom über deinen GPIO gezogen wird, selbst wenn z.B. der Transistor durchbrennt und einen Kurzschluss verursachen würde.
    Ein Widerstand am Kollektor oder Emitter (oder beides) verhindert, dass zuviel Strom durch die LED bzw. die Last und/oder Transistor fliesst.

  • Hey,

    so ich bin jetzt mal die GPIP Pins 3-7, 11-15, 19-23, 29-37, 8-12, 16-18, 22-26, 32, 36-40 durch gegangen mit der LED Methode.
    Alle blinken, was schon mal gut ist und mir zeigt, dass das Löten nicht ganz nach hinten los gegangen ist.

    Was mich nur wundert, Pin 3 und 5 scheinen durchgehend auf "High" zu stehen. Die LED blinkt immer, wenn ich Sie daran anschließe.

    Bin jetzt auch vom GPIO Pin zum Widerstand gegangen, nicht vom GND wie anfangs gedacht. Macht das einen Unterschied?
    Die restlichen Pins muss ich mit nem Multimeter durchmessen. Wie gehe ich da am besten vor?

    Danke schon mal

    Gruß Kokiri

    Einmal editiert, zuletzt von Kokiri (8. April 2017 um 15:40)

  • Servus Kokiri,


    ...
    Was mich nur wundert, Pin 3 und 5 scheinen durchgehend auf "High" zu stehen...

    die haben es gut, gell ... immer high :lol:
    Pin #3 und #5 sind die beiden I2C-Leitungen SDA und SCL ... und die sind - Überraschung - physikalisch mit einem 1k8 pullup auf 3V3 geschaltet ;)

    cheers,
    -ds-

  • Oh okay, danke für die Info.
    Na gut, dass die Technik es überlebt hat :angel:
    Hätte denn da was bei meinem Aufbau passieren können? :^^:

    Gruß Kokiri

    Einmal editiert, zuletzt von Kokiri (8. April 2017 um 15:57)

  • Hi,
    nö ... das hat jetzt nur marginale Bedeutung für Dich.
    Man sollte das aber im Hinterkopf behalten. Wenn man den I2C Bus nicht benötigt kann es manchmal ganz praktisch sein einen Pin zu haben, das ab dem Einschalten des Pi einen fest definierten Zustand hat.


    ...
    Die restlichen Pins muss ich mit nem Multimeter durchmessen. Wie gehe ich da am besten vor?


    wie meinst Du das? Was willst Du denn messen?
    cu,
    -ds-

  • Naja ob z.B aus dem 5V Pin was raus kommt :) schließe ich dann das eine Kabel vom Multimeter an den GND und das andere Kabel an den Pin vom 5 Volt Anschluss?. Da ich den GPIO Header selbst gelötet habe möchte ich halt wissen ob auch tatsächlich alle Pins so funktionieren wie sie sollen.

    Kannst du mir noch sagen ob es einen Unterschied gibt, zwischen GND an Widerstand oder GPIO an Widerstand? Spielt die Reihenfolge da überhaupt eine Rolle?

    Danke schonmal im voraus
    Gruß Kokiri

    Gesendet von meinem HUAWEI CRR-L09 mit Tapatalk

    Einmal editiert, zuletzt von Kokiri (8. April 2017 um 16:31)

  • Nun,


    ... schließe ich dann das eine Kabel vom Multimeter an den GND und das andere Kabel an den Pin vom 5 Volt Anschluss?.
    ...


    genau. Zwischen allen GND Pins und den 5V Pins müssen dann eben 5V, bei den 3V3 eben 3V3 anliegen. Schwarze Strippe am Messgerät mit z.B. COM verbinden, rote Strippe mit V oder je nachdem wie die Bezeichnungen sind (Handbuch). Anderes Ende der schwarzen Strippe auf einen GND ... mit dem anderen Ende der roten Verbindung die 5V bzw. 3V3 Pins abklappern. Dann nächsten GND Pin an die schwarze Strippe usw.


    ... einen Unterschied gibt, zwischen GND an Widerstand oder GPIO an Widerstand? ...


    das verstehe ich jetzt nicht? :s
    Meinst Du im Zusammenhang mit z.B. einer LED?

    cu,
    -ds-

  • Supa, das werde ich probieren :thumbs1:

    Eigentlich war die Frage mit dem Widerstand und GND sowie GPIO auf die LED bezogen. Sprich kommt der Widerstand nach dem GPIO Pin und vor der LED oder könnte der Widerstand auch nach dem GND und vor der LED kommen. Hoffe, das ist verstädnlcih, sonst würde ich es mal kurz aufmalen ::)

    Gruß Kokiri
    Automatisch zusammengefügt:
    Nachtrag:
    Habe alles mit dem Multimeter durchgemessen und alle Pins klappen :)

    Einmal editiert, zuletzt von Kokiri (8. April 2017 um 21:23)

  • Aha ... dachte ich mir schon ...
    Bei einer LED ist es afaik ziemlich egal wohin der Widerstand kommt. Da das Ding aber Vorwiderstand heisst, würde ich ihn eben auch davor schalten.
    Bei z.B. einer RGB-LED mit gemeinsamer Kathode sieht das dann wieder ganz anders aus.
    Stell' Dir die Verbindungen als Gartenschläuche und die Widerstände als Schlauchklemmen vor ...

    Jeweils ein Schlauch geht von einem Wasserhahn zu R, G und B. Von dort gehen die drei Schläuche dann in einen einzigen über und dann in den Abfluss (gemeinsame Kathode = GND).
    Nimmst Du jetzt nur einen Widerstand (Schlauchklemme) an der gemeinsamen Kathode (zum Abfluss Abfluss), dann hast einen maximalen Abfluss, der unabhängig vom den Zuflüssen (R, G, B) ist. Will heissen: wenn der Abfluss das Maximum erreicht hat, kannst Du R, G und B aufdrehen wie Du willst, es fliesst trotzdem nicht mehr ab.

    Nimmst Du stattdessen jeweils eine Schlauchklemme in die Verbindung zu R, G und B, dann ist der maximale Abfluss die Summe der Zuflüsse von R, G und B.

    Auf die RGB-LED übertragen: mit einem Widerstand vor R, G und B ist der Gesamtstrom die Summe der Ströme zu R, G und B. Alle Farben leuchten gleich hell.
    Hast Du nur einen Widerstand an der gemeinsamen Kathode, dann berechnet sich der Gesamtstroma aus diesem Widerstand. Die Folge ist: je mehr Farben Du zuschaltest, umso dunkler werden sie ...

    Hab' ich das einigermassen verständlich rübergebracht?
    Audderdem würde ich Dir in dem Zusammenhang ein wenig Grundlagen-Forschung z.B. im -> Elektronik-Kompendium <- ans Herz legen.

    cu,
    -ds-

  • Hi dreamshader,

    zu beachten ist dabei allerdings, dass eine Schaltung mit einem Widerstand an der gemeinsamen Kathode / Anode zwar funktioniert und auch gängige Praxis ist. Wenn aber der Strom einen anderen Weg als über den Widerstand und der gemeinsamen Kathode / Anode fließt, dann fließt eben zuviel Strom und die RGB-LED haucht aus.

    Wird dagegen der R-, der G- und B-Pin mit einem Widerstand versehen, dann begrenzen die den Strom und nichts kann zerstört werden.

    Und man hat dann auch nicht den Effekt, dass die LEDs unterschiedlich hell leuchten. Dies fällt insbesondere bei den 7Segment-Anzeigen auf.


    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.


  • Bei einer LED ist es afaik ziemlich egal wohin der Widerstand kommt. Da das Ding aber Vorwiderstand heisst, würde ich ihn eben auch davor schalten.

    Davor kann aber bei einer Stino singleLED auch VOR GND sein ;)

    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 (8. April 2017 um 23:49)

Jetzt mitmachen!

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