A11|08 Die Gabel-Lichtschranke
Photo Interrupter Module
Sensorwerte / Mix an Sensoren
Eine Gabel-Lichtschranke wird für viele Anwendungen eingesetzt, z. B. für optische Endschalter, Pellet-Dosierung, allgemeine Objekterkennung (kleine Dimensionen), Geschwindigkeitsberechnungen oder um Umdrehungszahlen zu bestimmen.
Spezifikationen
- Signalart: digital
- Spannung: 3,3V – 5V
- Pinabstand: 2,54mm
Der Sensor besteht aus einer Licht emittierenden Infrarot-LED und einem Licht empfangenden Element, die in einem einzigen Gehäuse einander gegenüber angeordnet sind. Die Lichtschranke erkennt eine Lichtblockade, wenn ein Zielobjekt zwischen die beiden Sensor-Elemente gerät. Im Grunde funktioniert er wie ein optischer Schalter.
Im Gegensatz zu mechanischen Schaltern sind Gabel-Lichtschranken berührungslose (optische) Schalter, was die Zuverlässigkeit erhöht, da Verschleiß durch Abrieb vermieden wird. Die Gabel-Lichtschranke von Keyesstudio funktioniert auch ohne die Arduino-Programmierung. Auf der Platine leuchtet die integrierte LED, sobald eine 5V Spannung angelegt wird. Wird ein Objekt zwischen Lichtsender und Empfänger platziert, erlischt die LED wieder.
Der Aufbau
Verbinde dein Arduino mithilfe der Jumper Wire mit dem Modul:
Der minimal Sketch
Der Test-Sketch für die Gabel-Lichtschranke ist denkbar einfach. Folgender Sketch liest den Zustand des Sensors und lässt entsprechend eine LED ein- oder ausschalten. Dieser Sketch ist in seinem Aufbau identisch mit dem Code aus dem Kapitel für den digitalen Momentanschalter - bis auf die Variablennamen. Siehe für nähere Erläuterungen des Sketches in A07|01 Der digitale Momentanschalter nach. Kopiere den unteren Sketch, füge ihn in die Arduino IDE ein und lade ihn auf das Arduino-Board rauf.
/********************************************************
A11|01 Die Gabel-Lichtschranke
Mr Robot UXSD / www.mrrobotuxsd.com
*********************************************************/
int forkPin = 3; //Pin für die Gabel-Lichtschranke
int ledPin = 13; //Pin für die LED
void setup()
{
pinMode(ledPin, OUTPUT); //LED-Pin als Ausgang deklarieren
pinMode(forkPin, INPUT); //Sensor als Eingang deklarieren
}
void loop()
{
//Variable um die Gabel-Lichtschranke abzufragen
int forkState = digitalRead(forkPin);
if (forkState == HIGH) //Prüfen, ob Sensor ausgelöst wurde
{
//Dieser Teil wird ausgeführt, wenn forkState HIGH ist
digitalWrite(ledPin, HIGH); //LED einschalten
}
else
{
//Dieser Teil wird ausgeführt, wenn forkState LOW ist
digitalWrite(ledPin, LOW); //LED ausschalten
}
}
Falls du die hier beschriebenen Elektronik-Module nicht hast kannst du sie in meiner Einkaufsliste finden. Warum ich selber hauptsächlich mit Modulen der Marke Keyestudio arbeite erläutere ich unter diesem Blog-Artikel.