Linien Sensor auslesen mit Python

  • Hallo an alle Mitglieder,

    erstmal muss ich sagen, dass es schön ist das es ein solches Board zum Thema Raspberry Pi gibt!


    Nun zu meinem Problem:

    Ich arbeite noch nicht so lange mit dem Raspberry, habe aber schon mein erstes größeres Problem.

    Ich habe versucht, den Raspberry mit einem Linien Sensor zu verbinden.

    Dem hier: Grove Line Finder

    Problem ist allerdings, dass ich es nicht schaffe den Sensor auszulesen.

    Der Sensor ist über den GPIO4 und über 3.3V verbunden. Zwischengeschaltet habe ich ein 4,7k Widerstand.

    Ich habe es mit einem relativ einfachen Code versucht.

    Leider wurde dabei unabhängig vom Untergrund nur False also "White Line!" ausgegeben.

    Dann wollte ich die Ausgabe testen und benutzte folgenden Code:

    Code
    import RPi.GPIO as GPIO
    
    
    
    
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(4, GPIO.IN)
    input_value = GPIO.input(4)
    print input_value

    Dabei bekomme ich als Ausgabewert eine 0

    Irgendwie bin ich jetzt an meine Grenzen gestoßen.

    Vielleicht weis ja irgendjemand einen Rat oder erkennt den Fehler.

    :helpnew:

  • Hey,

    bei dem Link den du gepostet hast steht bei Description, dass das Bauteil mit 5V läuft:

    Zitat


    Features

    • Grove compatible interface
    • Small size
    • 5V DC power supply
    • Indicator LED
    • Digital output
    • Distance adjustable


    Vllt. ist das ja das Problem. Falls der Sensor 5V zurück gibt musst du einen Widerstand benutzen. Der Pi verträgt nur bis zu 3.3V als Input soweit ich weiß.

  • Danke für die Antwort.

    Ich habe auch schon einen 5V Schaltkreis gebaut. Das Ergebnis war aber leider das gleiche. Ich vermute irgendwie mehr, dass ich irgendwie den falschen GPIO Pin benutze oder im Code was falsch habe. Vielleicht ist da auch irgendwie ein Analog/Digital Problem.

    Laut Beschreibung soll der Sensor wohl auch mit 3.3V - 5V funktionieren.

  • Hallo,

    das Problem ist ja der Sensor gibt nur den Wert 0 aus. Leider gibt der Sensor keinen Wert LOW oder HIGH aus. Das ist ja das, was mich irritiert.

    Zudem leuchtet die Indicator LED durchgehend auf. Was zumindest ohne Messung wohl schon aussagt, dass der Sensor versorgt ist oder nicht?

    Nach der Beschreibung HIER sagt dies wohl allerdings auch aus, dass der Sensor im Analogen Modus ist und nicht ein digitales Signal zurückgibt.


    Hier nochmal der Schaltplan für 3.3V

    zalja7cz.png

  • Hmm ... also in Deinem Link kann ich nichts finden, was auf einen analogen Modus hindeutet.

    Hast Du schon mal mit dem Poti rumgespielt. Das sollte zur Regelung der Empfindlichkeit wie des Abstands dienen.
    Und Achtung: 1,5 bis 5 cm ... grösser kann der Abstand wohl nicht sein ... ich würde das, wie gesagt, mit einem Multimeter ausmessen - mit einem Blatt (Drucker-)Papier und einem fetten Filzstift-Strich drauf.

    cu,
    -ds-

  • Ich schließe auf den Analogen Modus da die LED durchgehend leuchtet und im Link steht:

    [font="sans-serif"]Indicator LED
    Red (lighten shows black line detected, ignore it in analog mode)[/font]

    [font="sans-serif"]Du meinst ich sollte nochmal einen anderen Widerstand testen? Abstand des Sensors beim Testen war in dem Bereich 1,5 - 5cm, es wurden dennoch nur der Wert 0 ausgegeben.[/font]

    [font="sans-serif"]Könntest du mir das mit dem Multimeter, Papier und Stift nochmal etwas grundlegender erklären? Ich bin noch nicht so lange im Kontakt mit der Digitaltechnik :blush:[/font]

  • Hi,

    stimmt ... hatte ich übersehen das mit dem analogen Dings ... wundert mich aber, weil ich auch nichts entdecken kann, wie man das umschaltet ... ist jedenfalls sonderbar.

    Auf der Platine sollte ein einstellbarer Widerstand sein:

    Zitat


    If the sensor can’t tell between black and white surfaces, you can also use the adjustable resistor to set a suitable reference voltage.

    Und mit dem Blatt Papier: einfach eine fette, schwarze Linie drauf und den Sensor über weiss bzw. schwarz bewegen bzw. das Papier unter/über dem Sensor bewegen und dabei evtl. mal ein bisschen am Poti drehen ...
    Wie gesagt ... TTL-Output heisst, dass der Ausgang auf high oder low geht, und das sollte man messen können.

    cu,
    -ds-

  • Auf der Platine sollte ein einstellbarer Widerstand sein:

    evtl. mal ein bisschen am Poti drehen ...
    Wie gesagt ... TTL-Output heisst, dass der Ausgang auf high oder low geht, und das sollte man messen können.

    cu,
    -ds-

    Ja es ist der R6 auf der Stiftleistenseite. Laut Beschreibung Digital (TTL mit High und Low) Dort ist ja auch ein Democode zu sehen. Denke auch, das es an dem "Feintuning" des Potis fehlt.

    lg Peter

    --
    lg Peter
    Schon gefunden? Ich helfe gerne :danke_ATDE:

  • Hallo Walter_White,

    ich hab hier so ein ähnliches Teil und das mal ausprobiert.

    Die rote LED geht aus, wenn ich das Poti ein Stück nach links drehe.
    Wenn ich ein Stückchen weisser Pappe in Richtung IR-Sensor bewege, dann geht die rote LED plötzlich wieder an.

    So lange das Lämpi aus ist, liegt auf dem Signal-Pin ein High-Level an ( 1,94 V bei Spannungsversorgung mit 3V3, 3,89 V bei Spannungsversorgung mit 5V).
    In dem Moment, in dem die LED aufleuchtet, fällt der Pegel am Signalpin auf LOW (0,07 V).

    cu,
    -ds-

  • Teile und herrsche... Versuch nicht zwei Probleme auf einmal zu lösen. Die Schaltung muss auch ohne Pi funktionieren. Du brauchst auch kein Multimeter, die LED sollte zur Kontrolle reichen. Die Schaltung des Sensors ist ja extrem simpel.

    Einfach mal nur vcc und gnd anschließen und mit dem Trimmer auf der Rückseite spielen. Die LED muss dann je nach Stellung des Trimmers an oder aus gehen. Dann würde ich mal einfach ein Blatt Papier vor den Sensor halten und wieder mit dem Trimmer spielen. In der Nähe des Umschaltpunkts zwischen an und aus sollte der Sensor dann auch auf Wegnehmen des Papiers reagieren.

    Mit einem Multimeter könntest du auch mal die Spannungen am Komparator messen (da wo auch der IR-Sensor hängt). Die sollte sich ändern, wenn man Papier unterschiedlicher Farbe hinhält.

    Erst wenn der Sensor auf diese Weise halbwegs abgeglichen ist, würde ich mit dem Anschluss an den Pi weitermachen.

    Einmal editiert, zuletzt von Singletrailer (17. September 2013 um 19:23)

Jetzt mitmachen!

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