Lichtschranken mit Ardunio
Lichtschranken mit Ardunio | |
![]() Sensor mit Halterung | |
Kurzbeschreibung | |
---|---|
Lichtschranke realisiert mit Arduino und infrarot Sensor | |
Kategorien | |
Digitales Messen | |
Einordnung in den Lehrplan | |
Sonstiges | |
Durchführungsform | Gruppenexperiment |
Anspruch des Aufbaus | leicht |
Informationen | |
Name: | Lilly Pyras, Wolfried Heiss |
Kontakt: | @ |
Uni: | Humboldt-Universität zu Berlin |
Inhaltsverzeichnis
Didaktischer Teil
Der Lichtsensor für den Arduino Uno ist einfach in seinem Aufbau und kann leicht an ein Arduino Uno angeschlossen werden. Somit eignet er sich gut für Einstiegsexperimente.
Versuchsanleitung
Ein erstes Experiment ist das Messen zwischen zwei Lichtschranken. Die beiden Sensoren werden an einen Arduino Uno angeschlossen und mit dem nachstehenden Code beschrieben. Wird die erste Infrarotdiode zugehalten beginnt der Arduino die Zeit zu messen, und stoppt, der zweite Sensor Licht wahrnimmt. Um die Lichteinstrahlung zu erhöhen eignet sich ein Reflektorband. So erkennt der Sensor eine Änderung auch in einem größeren Abstand (ca. 5 cm). Eben diese Zeit zwischen zwei Lichtschranken kann auch genutzt werden um die Geschwindigkeit eines Objektes zu bestimmen, sobald der Abstand der beiden Sensoren bekannt ist.
Aufbau
Für den Aufbau werden folgende Materialen benötigt:
- Arduino Uno
- Kabel
- 2 Lichtsensoren, hier wurde ein MH Series infrarot reflexion sensor verwendet
- Breadboard
- Computer zum aufspielen des Programmes
Abb.1: Steckplatine mit Arduino Uno und Sensor. Hier wurden Pin D2 und D3 verwendet
Durchführung
Der Sensor wird mit dem Arduino verbunden. Das nachstehende Programm wird auf den Arduino aufgespielt werden. Der in dem Arduino Programm integrierte serielle Monitor kann anschließend die Zeit der Verdunklung anzeigen.
Bei bekanntem Abstand der Sensoren kann anschließend die Geschwindigkeit bestimmt werden.
3D Drucker Halterung
Um die Sensoren auf Stativstangen zu montieren wurde eine Halterung entworfen und mit einem 3D Drucker ausgedruckt. Es gibt zwei Versionen, mit und ohne Kabelkanal.
Abmessungen:
- Das Loch hat einen Durchmesser von 13mm und eine Tiefe von 20mm
- Der Ausschnitt für den Sensor ist 15x31x2mm
- Der Kabelkanal ist 15x4mm
- Insgesamt ist die Halterung 80mm lang.
Datei:Halterung Lichtschranke.stl
Abb.2: Halterung ohne Kabelkanal
Datei:Halterung-Lichtschranke-mit-Kabelkanal.stl
Abb.3: Halterung mit Kabelkanal
Code
// Lichtschranke mit MH-Sensor Series const int eingang1= 2; // D0 und D1 nicht belegen, da USB! const int eingang2= 3; //D2 und D3 belegen! long start1; long ende1; long dauer; void setup() { pinMode(eingang1, INPUT); pinMode(eingang2, INPUT); Serial.begin(9600); delay(100); Serial.println(); Serial.println(F("start:")); Serial.println(F("title:Zeitmessung mit dem Arduino")); Serial.println(F("subtitle:Unterbrechung der Lichtschranke in s")); Serial.println(F("setYFormat:#0.000s")); } void loop() { while (digitalRead(eingang1) == HIGH) { }; start1 = millis(); // misst interne Zeit 1 Serial.println(); Serial.println("Achtung! Messung!"); Serial.println(); while (digitalRead(eingang2) == HIGH) { }; ende1=millis(); // misst interne Zeit 2 dauer = ende1 - start1; // Zeitdifferenz float outval = (float)dauer / 1000.0f; Serial.print("gemessene Zeit= "); Serial.print(outval,3); Serial.println(" sec"); }