Fotocellula

FunduinoUltimo aggiornamento il

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".
}
Valuta le istruzioni

Commenti

Fare una domanda o condividere un'esperienza

Scrivici se qualcosa non funziona. Indica la tua scheda e il messaggio di errore.

Controlliamo ogni commento prima della pubblicazione. Il tuo indirizzo e-mail rimane presso di noi.