Lichtschranke (mit dem Arduino)

Lichtschranke (mit dem Arduino)

Kategorien: Arduino, Elektronik

Ausdrucken Ausdrucken

k153pDer Aufbau einer Lichtschranke ist nicht sehr schwer. Vereinfacht ausgedrückt haben wir nur zwei Zustände: Der Infrarotstrahl ist nicht unterbrochen (=0), oder der Strahl wurde unterbrochen (=1).

Ich habe für den Aufbau zuerst den Temic K153P-Lichtsensor verwendet (siehe Bild rechts), den gibt es ganz günstig bei Pollin (Infrarot-Lichtschrankenpaare Temic K153P – 10 Paare für 0,95 EUR).

Die Schwierigkeit mit diesem Sensor war, dass ich kein korrektes 0- oder 1-Signal bekam, dass ich mit dem Controller verarbeiten konnte.

analogWrite() mit Pi mal Daumen rechnen mag zwar gehen, aber ich wollte ein sauberes, digitales Signal.

Bei microcontroller.net fand ich dann eine wunderbare Schaltung, die diesem Wunsch nachgekommen ist.

Da ich keinen CD4093N-IC zur Hand habe, habe ich hierfür einen 74HC132N genommen.
Tut ebenfalls, was er soll und preislich ist er sogar wenige Cent günstiger.

Den Rest hat man ja eh daheim und dann geht es auch schon los.
Hier der Schaltplan der Lichtschranke:

Zum Vergrößern Bild anklicken

Der verwendete Schmitt-Trigger-IC liefert ein glasklares AN oder AUS (1-0)-Signal und man kann dieses Signal nun toll weiterverarbeiten.

Doch zuvor bauen wir die Schaltung noch auf ein Breadboard auf:
(Hinweis: Nicht Pin9 verwenden, sondern den analogen Pin A0!)

lichtschranke_steckplatine

Zum Vergrößern Bild anklicken

Beachtet, dass die Spannung 5V nicht übersteigen darf, sonst grillt es Lichtschranke und IC.

Zum Testen können wir ja mal eine 5V-Stromquelle anschließen und stellen dann fest, dass die LED brennt, wenn nichts die Lichtschranke unterbricht.
Ist dies der Fall, geht die LED aus.

Das Signal für unseren Arduino greifen wir vor dem Widerstand zum Transistor ab und erstellen uns einen kleinen Sketch, um zu testen, ob wir unser Signal auch ordentlich in den Arduino-Input bekommen:

Der Input liegt auf Pin A0 und wir verwenden die interne LED auf Pin 13 des Arduino UNOs für die Ausgabe.
Zusätzlich sehen wir auf der seriellen Ausgabekonsole den aktuellen Zustand des Signals.

Verwendet Ihr eine externe Stromquelle für die Schaltung, dann vergesst nicht den GND-Pin des Arduinos mit GND der Schaltung zu verbinden.

Haben wir alles richtig gemacht, dann brennt auch auf dem Arduino UNO die LED, wenn nichts die Lichtschranke behindert.
Unterbrechen wir die Lichtschranke, geht auch die LED aus.

Und das war das ganze Hexenwerk 🙂
Die Schaltung funktioniert natürlich auch mit anderen Lichtschranken, achtet aber auf das beigefügte Datenblatt, damit Ihr nicht zu viel Spannung auf die Infrarot-Diode legt. Die Teile von Pollin sind mit einer Forward Current von 60mA recht schmerzfrei, andere, wie beispielsweise die Gabellichtschranke von Honeywell HOA086X/087X hat nur 50mA.

Diese habe ich auch erfolgreich getestet und sie läuft ebenso einwandfrei mit dieser Schaltung. (Anm.: Bei diesem Typ ist das Bauteil mit “E” und “S” gekennzeichnet. “E” ist die Diode. Beide haben eine Seite mit einer abgeflachten Kante, diese Seite ist VCC für die Diode und für den Detektor ist die abgeflachte Seite der Emitter.)

hoa0865-p51
Für die Infrarot-Diode(n) liegen bei der obigen Schaltung bei knapp 5V rund 10mA an.
Die Ausgabe-Test-LED bekomt 8mA.
Also alles im grünen Bereich.

Viel Spaß beim Nachbauen.


9 Comments

Arduino – hass.langheiter.at

3. März 2023 at 8:23 am

[…] http://www.kollino.de […]

Nico Messmer

23. Oktober 2020 at 11:04 am

Hallo, wie wollen das gleichen realisieren, einfach mit einem fertigen Sensor, welcher ein digitales Signal an Ausgang gibt. Ausserdem wollen wir das auf einem ganz normalem LCD Display anzeigen.. Haben Sie da konkete Lösungsvoschläge?

    Ronin

    25. Oktober 2020 at 12:49 pm

    Hallo Nico,

    die Vorgehensweise ist identisch. Du erhälst ja am Ausgang des Sensors eine 0 oder eine 1. Diesen Wert liest Du an einem (digitalen) I/O-Pin deines Controllers ein und gibst das Ganze auf dem Display aus. Je nach Display gibt es ja fertige Bibliotheken. Dann musst Du nur noch mittels digitalread(I/O-Pin) den Pin einlesen und diesen der “Print”-Funktion der LCD-Bibliothek übergeben. Lies Dir dafür am besten den Artikel OLED Display ansteuern durch.
    Damit solltest Du das problemlos hinbekommen.

    Viele Grüße,
    Michael

Fabian

22. Juli 2020 at 8:39 am

Moin Michael,

reicht ein digitaler Port zum Auslesen des Lichtschranken-Status oder gibt es einen bestimmten Grund, wieso du einen analogen Port zum Auslesen verwendest (Vom Programm mal abgesehen)?

Mit freundlichen Grüßen

Fabi

    Ronin

    22. Juli 2020 at 9:30 am

    Hallo Fabi,

    Wenn man das Ganze mit einer Schaltung (wie hier mit dem Schmitt-Trigger-IC) aufbaut, die ein eindeutiges 0/1-Signal liefert, dann kannst Du auch einen digitalen Eingang nehmen. Ich hatte nur A0 genommen, weil das noch die (vorherige) Schaltung ohne den Schmitt-Trigger war und somit der Eingangswert niemals nur 0 oder 1 gewesen war.

    Zeile 12 (sensorValue = analogRead(sensorPin);) noch entsprechend auf digitalRead() umstellen, dann läuft das auch mit einem digitalen Port.

    Viele Grüße,
    Michael

Jan

14. Juli 2018 at 9:13 am

Moin!

kannst Du alternatives Material angeben, da die IR-Sensoren bei Pollin nicht mehr lieferbar sind!?

Jan

    Ronin

    14. Juli 2018 at 10:51 am

    Hallo Jan,

    rein theoretisch kannst Du x-beliebige IR-Dioden und IR-Transistoren einsetzen für so eine Schaltung.

    Als Gabellichtschranke wird auch sehr gerne der TCST2103 verwendet (bspw. in 3D-Druckern).
    Willst Du variablen Abstand dazwischen, funktioniert auch eine einfache IR-Diode und bspw. der TSOP4838 als IR-Transistor.

    Wir eröffnen hier noch in diesem Monat Juli unseren Online-Shop, daher kann ich Dir den TCST2103 oder den TSOP4838 auch anbieten (IR-Dioden haben wir leider aktuell noch keine geliefert bekommen).
    Alternativ haben wir auch eine fertige Platine mit einem TCST2103 bestückt und mit dazugehörigem 50cm 3-Pin-Anschlusskabel:

    Modul

    Dieser kostet pro Stück 1,31 EUR.

    TCST2103 á 0,89 EUR, oder TSOP4838 á 0,64 EUR.

    Lieferzeit 2-3 Werktage
    Lieferung mit Deutsche Post Brief ab 0,85 EUR (Gewichtabhängig).
    Zahlung erfolgt via Überweisung, PayPal oder Kreditkarte.

    Leider sind die Produktseiten noch nicht online, aber die Datenblätter sollten zumindest schon herunterladbar sein. TCST2103 und TSOP4838

    Wenn Du jetzt schon bestellen möchtest, dann schicke mir eine eMail, ansonsten ist der Shop im Laufe der kommenden zwei Wochen online.
    50 Stück von jedem haben wir auf jeden Fall auf Lager. 🙂

    Viele Grüße,
    Michael

Maik Habermaier

20. Januar 2018 at 12:17 pm

Hallo, danke für den tollen Artikel.
Wir sind absolute Anfänger und kennen uns mit Breadboards überhaupt nicht aus – Wir schaffen es einfach nicht die Konstruktion richtig zu löten. Kann man dieses Breadboard so wie es oben angegeben ist irgendwo bestellen oder könnten Sie eins für uns bauen (natürlich mit Bezahlung)
Wir bräuchten das komplette Breadboard bis Freitag und würden es genau so wie oben in unser Projekt für die Schule einbauen.
Vielen Dank für ihre Antwort.
Liebe Grüße, Maik Habermaier

    Ronin

    20. Januar 2018 at 4:57 pm

    Hallo Maik,

    Man kann das Breadbord bestellen, aber nicht mit der fertigen SChaltung. Wenn Ihr die fertigen Bauteile eh zu Hause habt, dann brauchst ja nur noch das Breadbord. Da die großen Versender EUR 6,95 Versandkosten berechnen, empfehle ich Dir den Guloshop. Da bekommst Du für EUR 3,60 ein großes Breadboard. Versand EUR 2,40 EUR in ein bis zwei Tagen zugesendet.
    Vielleicht findest Du dort noch ein paar Dinge. Der Shop ist sehr spezialisiert auf Atmel-Kontroller und die Preise sind sehr günstig.

    Zu Breadbords empfehle ich Dir meinen Artikel Breadboard – Steckplatine.
    Da erkläre ich umfassend, wie ein Breadbord funktioniert und dann denke ich, dass Eure Schaltung einwandfrei funktionieren wird.
    Wichtig ist, dass Du weißt, dass die nummerierten Spalten beider Seiten des Breadbords den Strom in der Spalte bis in die Mitte zur Kerbe leiten. (Das siehst Du sehr schön an dem 74HC132N. An den Beinchen ist es nach oben und nach unten hin grün markiert. Das zeigt den Stromfluss des Breadboards).
    Ich vermute, dass deshalb Euer Aufbau nicht funktioniert und Ihr irgendwo einen Kurzschluss habt.

    Wenn Du noch Fragen hast, dann her damit 🙂

    Viele Grüße,
    Michael

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.