Lichtschranke am Arduino bauen

FunduinoZuletzt aktualisiert am

Unterbrechungen erkennen und im Seriellen Monitor anzeigen

In dieser Anleitung nimmst du die Lichtschranke für Arduino-Mikrocontroller in Betrieb und lässt dir ihr Signal im Seriellen Monitor anzeigen.

Lichtschranke am Arduino mit leuchtender LED, Lichtstrahl ungehindert
Die LED der Lichtschranke leuchtet – keine Unterbrechung

So funktioniert eine Lichtschranke

Eine Lichtschranke besteht aus einer Lichtquelle und einem Sensor für diese Strahlung. Von der Lichtquelle geht permanent Licht aus – entweder Infrarot- oder Rotlicht –, das der Sensor empfängt und in ein digitales Signal umwandelt.

Ist dieses Signal frei von Störungen, gibt der Mikrocontroller im Seriellen Monitor den digitalen Wert 0 aus. Zudem leuchtet die LED der Lichtschranke rot.

Kommt eine Störung dazu – also ein Objekt im optischen Bereich der Lichtschranke –, erscheint im Seriellen Monitor der digitale Wert 1. Zeitgleich erlischt die LED der Lichtschranke.

Serieller Monitor mit der Ausgabe Lichtschrankensignal 0 und 1
So sieht eine Unterbrechung im Seriellen Monitor aus

Die Lichtschranke anschließen

Die Lichtschranke verfügt über drei Pins:

  • VCC – Pin für die Spannungsversorgung, an den 5V-Pin des Mikrocontrollers
  • GND – Ground-Pin, an den GND-Pin des Mikrocontrollers
  • OUT – Ausgang des digitalen Signals, hier an den Pin D8 des Mikrocontrollers

Die Lichtschranke auslesen

Mit diesem Sketch liest du das Signal der Lichtschranke aus und lässt es dir im Seriellen Monitor anzeigen. Die beiden Bilder zeigen den Aufbau einmal mit freiem und einmal mit unterbrochenem Lichtstrahl.

Lichtschranke am Arduino mit leuchtender LED, Lichtstrahl ungehindert
Die LED der Lichtschranke leuchtet – keine Unterbrechung
Lichtschranke am Arduino mit erloschener LED, Objekt unterbricht den Lichtstrahl
Die LED ist erloschen – der Lichtstrahl ist unterbrochen
1 / 2
Programmcode – Lichtschranke auslesen
int messwert = 0; // Unter der Variablen "messwert" wird später der Messwert der Lichtschranke gespeichert.
void setup()
{ // Hier beginnt das Setup.
  Serial.begin(9600); // Die Kommunikation mit dem seriellen Port wird gestartet. Das brauchst du, um dir den ausgelesenen Wert im Seriellen Monitor anzeigen zu lassen.
}
void loop()
{ // Hier beginnt der Hauptteil.
  messwert = digitalRead(8); // Die Signalausgabe der Lichtschranke wird ausgelesen und unter der Variablen "messwert" gespeichert. Wenn die Lichtschranke unterbrochen wird, speichert der Mikrocontroller den Wert "1", ansonsten "0".
  Serial.print("Lichtschrankensignal="); // Ausgabe im Seriellen Monitor: "Lichtschrankensignal="
  Serial.println(messwert); // ... und im Anschluss der Messwert: "1" bei unterbrochener Lichtschranke, ansonsten "0".
}
Anleitung bewerten

Kommentare

Frage stellen oder Erfahrung teilen

Schreib uns, wenn etwas nicht funktioniert. Nenne dabei dein Board und die Fehlermeldung.

Wir prüfen jeden Kommentar vor der Veröffentlichung. Deine E-Mail-Adresse bleibt bei uns.