Raspberry Pi Laser Lichtschranke für weite Distanzen

4. Juni 2017
8 Comments

Lichtschranken sind eine gute Möglichkeit Unterbrechungen festzustellen oder z.B. einen Zähler zu bauen. Mit einer Raspberry Pi Laser Lichtschranke ist dies auch für weite Entfernungen möglich. Im Gegensatz zu einem anderen Ansatz, nutzen wir keine Infrarot Dioden, sondern einen Punkt-Laser, welcher auf einen Lichtsensor gerichtet ist. Das gebündelte Licht des (roten) Lasers ist stärker als das normale Umgebungslicht und somit können wir selbst über große Distanz eine Lichtschranke bauen. Mittels zweier solcher Laser Lichtschranken mit bekanntem Abstand können wir auch sehr einfach die Geschwindigkeit ermitteln.

Im Tutorial wird u.a. auf die Verbindung und die Programmierung der Diode eingegangen, sodass die eigens entworfene Lichtschranke auch funktioniert. Außerdem ist im Video alles noch einmal veranschaulicht.

 

Zubehör

Raspberry Pi Helligkeitssensor PCB Fototransistor

Auf eine Leiterplatte aufgelöteter Fotowiderstand hat ein Potentiometer dabei, sodass Schwellwerte einstellbar sind.

Wie in einem vorherigen Tutorial bereits gezeigt, kann eine Fotodiode einen analogen Wert ausgeben, den wir mit einem Analog-Digital Wandler auslesen könnten. Wir brauchen allerdings lediglich einen binären Zustand (Lichtschranke offen/geschlossen), weshalb sich die verbauten Module besser eignen. Bei diesen ist ein Potentiometer direkt dabei, dessen Sensibilität wir einstellen können. Ist der Einsatzort eher hell, so stellen wir den Widerstand höher. Über den digitalen Ausgabe Pin können wir den Zustand einfach abfragen.

Für unsere Raspberry Pi Laser Lichtschranke benötigen wir natürlich auch noch einen Laser. Dabei gibt es verschiedene Aufsätze, z.B. „Strich-Laser“ aber auch ganz normale Dot-Laser. Den letzteren brauchen wir:

Zusammen kosten die Bauteile nur wenige Euro aber sind alles, um die Laser Lichtschranke an unserem Raspberry Pi zu realisieren.

 

Verkabelung der Raspberry Pi Laser Lichtschranke

Von den beiden Komponenten  muss nur der Fotowiderstand an den Pi angeschlossen werden – der Laserpointer kann auch von einer anderen Stromquelle versorgt werden, da dieser keinen Datenpin hat. Dementsprechend muss nur das rote Kabel an eine positive ~3.3V Spannung angeschlossen werden und das schwarze Kabel an Masse / Minus. Du kannst aber natürlich auch diese Spannung vom Pi abzwacken.

Anders sieht es beim Fotowiderstand aus: Dabei wird ebenfalls an VCC eine 3.3V Spannung (vom Pi) angeschlossen und GND kommt ebenso an GND. Wir nutzen allerdings den digitalen Pin (D0) und schließen diesen an einen freien GPIO an, bspw. GPIO 23 (Pin 16) bzw. einem anderen freien GPIO des Raspberry Pi’s. In der schematischen Zeichnung unten sind nur 3 Pins zu sehen, aber oftmals normalerweise haben die Sensoren 4, wovon der analoge Pin (A0) frei bleibt. Stelle sicher, dass dein Modul eine digitale Ausgabe hat, sofern es nur 3 Pins hat.

Raspberry Pi Laser Lichtschranke Steckplatine

 

Positionierung des Lasers

Sind beide Komponenten soweit angeschlossen, müssen wir diese positionieren. Wichtig ist dabei, dass der Laser exakt auf die Mitte des Fotowiderstands zeigt und beide Komponenten gut befestigt werden. Ich empfehle dafür Heißkleber oder Panzertape (bzw. in Kombination), sofern keine „professionelle“ Befestigung möglich ist. Es bietet sich an, zuerst den Laser zu montieren und anschließend den Fotowiderstand auf den Laserpunkt angepasst anzubringen. Achte aber darauf, dass der Laser heiß werden kann und dies ggf. den Kleber weich machen lässt.

Anschließend müssen wir noch den Potentiometer des Moduls einstellen. Nimm dazu einen kleinen Schlitzschraubenzieher. Falls der Laser noch aktiv ist, unterbrich den Strahl (Hand davor halten) und drehe den Regler, bis die LED aufhört zu leuchten. Aber Achtung: es gibt zwei LEDs, wovon eine den generellen Status anzeigt (an/aus) und die andere den Status des Lichtsensors. Das Ziel ist es, dass der Sensor nicht durch das Umgebungslicht aktiviert wird, sondern nur dann, wenn das Laserlicht darauf scheint. Der Status der LED sollte sich also ändern, wenn du den Strahl wieder darauf scheinen lässt.

Falls es zu hell ist, kannst du den Außenbereich etwas abdunkeln: Stecke den Sensor in z.B. eine Klopapierrolle, welche einen Schatten auf den Sensor wirft. Beachte auch, dass es evtl. heller werden kann, als es zum Testzeitpunkt ist und drehe den Vorwiderstand lieber ein wenig höher, solange das Modul durch das Umgebungslicht + Laserlicht weiter aktiviert wird.

Der große Vorteil von Lasern im Vergleich zu Infrarot o.ä. ist die hohe Reichweite. Je nach Stärke sind sogar 30-50m möglich. Dabei sollte allerdings der Laser separat mit 5V Spannung versorgt werden.

Hier schon einmal der Aufbau als Video. Darin habe ich den Sensor am Ende mit etwas Kreppband abgedunkelt:

 

 

Code zum Erfassen

Wir erzeugen zunächst eine neue Datei:

sudo nano laser_lichtschranke.py

Hier fügen wir folgenden Code ein (danach speichern mit STRG+O und beenden mit STRG

Das Skript funktioniert recht einfach: Beim ausgewählten GPIO (23) wird jedes mal, wenn sich der Status ändert, eine Funktion aufgerufen. In dieser Funktion prüfen wir dann, ob der binäre Status wahr ist (hohe Spannung). Falls ja, war eben noch die Laser Lichtschranke geschlossen und wurde nun unterbrochen. Der untere Teil mit der Endlosschleife dient nur dazu, dass das Programm nicht sofort aufhört. Details zu den genutzten Funktionen kannst du hier finden.

Das Skript können wir nun testen:

sudo python laser_lichtschranke.py

 

Mit diesem Code können wir verschiedene Anwendungen realisieren, wie z.B. einen Zähler für Menschen / Objekte, die die Lichtschranke passieren oder eine Zeit-/Geschwindigkeitsmessung, wenn man mehrere dieser einfachen GPIO Lichtschranken hintereinander platziert hat.

8 Kommentare

  1. Hallo,das ist ein super Sache! jetzt kann ich eine Überwachung bauen und mir melden lassen sobald jemand zwischen den Haus zu unseren Nachbarn hergeht, wo eigentlich kein Weg ist und eventuell damit eine Kamera auslösen oder eine Lampe anmachen.Dort sind schon häufiger Leute zum klauen der Kupferfallrohre hergegangen. Vielleicht kann man ja auch ein Spiegel auf der Gegenseite anbringen und so beide Bauteile die Strom brauchen im Bereich der Stromquelle belassen?!
    Gruss Udo

    Antworten
  2. Hi Felix,
    danke erstmal wieder für das Tutorial. Könnte man mit dieser Schaltung auch die Laufzeit eines vom Laser ausgesendeten Signals auswerten um z.B. die Entfernung zu messen, oder ist der RP zu langsam für solche Aufgaben?

    Entspannte Pfingsten,
    Thomas

    Antworten
  3. Hi Felix,
    könntest du auch zeigen wie man eine Lichtschranke baut um eine „Stoppuhr“ daraus zu bauen?
    MfG,
    Tim

    Antworten
    • Man bräcuhte zwei Lichtschranken, speichert die Zeit wann die erste durchlaufen wird, ebenso wann die zweite und mit Hilfe der Differenz und dem bekannten Abstand der beiden kann man die Geschwindigkeit berechnen (äquivalent zu diesem Tutorial). Ich dachte es wäre recht einfach, aber vielleicht kann ich in der Zukunft nochmal ein separates Tutorial dazu schreiben.
      LG, Felix

      Antworten
  4. Hi Felix,
    ich hätte eine kurze Frage: Weißt du ob der Laser auch mit 4,5 Volt funktioniert? Wollte nämlich drei AA Batterien (je 1,5 V) in Reihe schalten zur Stromversorgung. Auf deinem Schaltplan steckst du den Laser auf +3,3 V an im Video aber auf 5 V daher auch meine Frage.
    LG Tom

    Antworten

Hinterlasse einen Kommentar

Deine Email Adresse wird nicht veröffentlicht.

Blog abonnieren

Abonniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!