GPIO Pin kann nicht gesetzt werden

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo,

    mein Versuchsaufbau ist recht simpel: Ich hab eine Led, mit der ich zum einen in Pin 6 (Ground) gehe und einmal in Pin 3, sprich GPIO2.
    Nutze ich statt Pin 3 einen der 5V Pins leuchtet die LED.

    Nun zu meinem Problem: Ich habe bereits direkt über die Datei /sys/class/gpio/gpio2/export/direction die Richtung auf "out" gesetzt und habe versucht in /sys/class/gpio/gpio2/export/value den Wert auf 1 zu setzen. Mit der Richtung gab es keine Problem allerdings leuchtet meine LED nicht einmal auf und sobald ich die Datei wieder geschlossen hab und sie neu öffne steht wieder die 0 drinne.

    Was mache ich falsch?

    Bin hier schon echt am heulen und ausrasten :wallbash:

    Danke schonmal für alle Hinweise!

  • Danke, hab ich behoben!
    Mein Problem besteht leider immer noch :S

    Ich hab nochmal mit einem Messgerät das ganze überprüft. Bei den 5V Pins kam jeweils exakt 5V raus, bei 3,3V kam 3,3V raus.
    Also so wie es sein sollte.
    In der Zwischenzeit hab ich mal wiringPi runtergeladen und installiert und den Aufbau und den Code von dem blink Beispiel eins zu eins übernommen. Leider kein Erfolg. Die Messnadel bewegt sich gar nicht.

    Hat jemand Ideen was ich falsch mache? An der LED kann es ja wie man sieht nicht liegen...

    Einmal editiert, zuletzt von deimud (26. September 2013 um 21:20)

  • Guck mal hier: http://fritzing.org/projects/raspb…le-switched-led

    Spoiler anzeigen

    Simple%20LED%20on-off%20with%20Raspberry%20Pi.jpg

    So sollte deine Schaltung aussehen ;)

    Zum bequemen schalten/konfigurieren der GPIO Pin's über ein Webinterface kannst du auch webiopi verwenden ;)

  • Hallo deimud,

    wenn Du eine Spannung von Pin 3V3 über eine LED in einen GPIO-Pin legst, dann musst Du diesen GPIO-Pin auch als Eingang setzen - nicht als Ausgang.

    Wenn Du umgekehrt von einem GPIO-Pin über einen Widerstand und LED nach GND gehst, nur dann wird die Richtung auf Ausgang geschaltet.

    Wenn Du es so machst, dann klappt das auch. Aber vergiss die Widerstände nicht. Wenn der Strom, der aus 3V3 gezogen wird bzw. in GND zurückfließt, mehr als 50 mA beträgt, dann verträgt der Raspi das 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.


  • Nutze ich statt Pin 3 einen der 5V Pins leuchtet die LED.
    Was mache ich falsch?

    ohne Vorwiderstand kann die schon kaputt sein !

    und welche LED ? es gibt LED von 1,8V-3,6V von 3mA bis 1000mA

    eine 3,6V LED wird direkt am GPIO mit 3,3V kaum laufen, eine 1000mA auch nicht

    wenn du schon misst, warum nicht die GPIO Spannung 0V oder 3,3V je nach Richtung und gesetzt oder nicht....

    erst wenn das stimmt können wir über LED und Beschaltung reden.....

    LG jar

    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)

  • Also bei mir funktioniert das wie folgt:

    Kurze Erklärung zu den GPIO PINs:
    Wenn du den RPI vor dir liegen hast mit den USB- sowie dem Netzwerk- Port nach unten also zu dir hin, ist oben links PIN-1 (steht auch auf der Platine), dann ist der PIN rechts daneben PIN-2, links unter PIN-1 ist dann PIN-3 und der rechts neben PIN-3 ist PIN-4 usw... Das wird vielleicht auch mit folgendem Bild ersichtlich:

    Spoiler anzeigen

    rio2was4kgxz.png
    (daran bastel ich gerade)

    Aufbau der Schaltung:

    - Schwarzes Kabel an PIN-6 also GND
    - Rotes Kabel an PIN-11 also GPIO17

    Das Schwarze Kabel (GND) auf dem Steckbrett auf die Blaue Linie stecken (Minus)
    Das Rote Kabel (GPIO17) auf dem Steckbrett auf die Rote Linie stecken (Plus)

    Eine etwas grössere LED steckt man auf dem Steckbrett mit der Kathode (der kürzere pin) in zB das Loch e-16, die Anode (der längere pin) steckt man in e-17

    Als Widerstand hab ich einen 680-Ohm genommen weil ich keinen 330er greifbar habe, 680 ist der kleinste den ich hier hab
    Die eine Seite des Widerstands steckt man mit dem einen Pin irgendwo an die Blaue Linie (Minus) - aber natürlich noch auf der selben Seite wie das Schwarze-Kabel
    Mit dem anderen Pin des Widerstands geht man irgendwo an die Kathode der LED also zB in Loch c-16
    Dann steckt man eine Rote Brücke zwischen der Roten-Linie (GPIO17) und der Anode also zB in Loch a-17

    Hab dir dazu über fritzing auch ein Bild gemacht:

    Spoiler anzeigen

    bgxsyfl29r1j.png

    In der RaspberryPI Konsole gibst du dann folgendes ein:

    Code
    echo 17 > /sys/class/gpio/export
    echo out > /sys/class/gpio/gpio17/direction
    echo 1 > /sys/class/gpio/gpio17/value

    Und dann sollte die LED eigentlich auch schon leuchten - bei mir zwar schwach aber sie leuchtet :D

    Wenn das bei dir nicht funktioniert kontrollier die Steckverbindungen (Löcher), hatte bei mir auch erst nicht funktioniert aber nachdem ich an der Roten Brücke etwas gewackelt hab ging das Licht an ;)

    Und als Blink-Licht in der Konsole eingeben:

    Code
    while :; do echo 1 > /sys/class/gpio/gpio17/value && sleep 1 && echo 0 > /sys/class/gpio/gpio17/value; sleep 1; done

    ( abbrechen durch drücken der Tastenkombination STRG+c )


    /EDIT:

    Vielleicht helfen auch folgende Seiten um den passenden Widerstand herraus zu finden:

    http://www.loetstelle.net/grundlagen/led/led.php
    http://www.elektronik-kompendium.de/sites/bau/1109111.htm
    http://de.wikibooks.org/wiki/Arbeiten_mit_LEDs/_Grundlagen
    http://www.passatplus.de/arbeitshilfen/…-widerstand.htm

Jetzt mitmachen!

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