Lichtsensor

Mit dem neu erlernten analogRead können wir - wie bereits im vorausgegangenen Posten erklärt - eine Vielzahl von verschiedenen Sensoren auslesen. Ein weiterer Sensor ist der Lichtsensor (Fotowiderstand). Wie der genau funktioniert, werden wir in diesen Posten anschauen.  

 

 

Ziel des Postens

Der Ardurobot lässt sich durch die Intensität des Lichts steuern.

 

 

Material

  • Ardurobot
  • Steckkabel
  • 10k Ohm Widerstand
  • Fotowiderstand (Lichtsensor)

 

Schaltung

Fotowiderstand (Lichtsensor) 

Der Lichtsensor (oder Fotowiderstand, wie wir ihn nun nennen wollen) ist ein Widerstand, der je nach Lichteinstrahlung grösser oder kleiner ist (mehr Ohm oder weniger Ohm). Je grösser die Lichteinstrahlung ist, desto kleiner ist der Widerstand. Je kleiner die Lichteinstrahlung, desto grösser ist der Widerstand. 

 

Aufbau-Schema

Baue folgende Schaltung auf.

 

 

 

Programmieren

Sketch 1

Lade als erstes einmal diesen Sketch auf deinen Arduino:

 Link zum Sketch

 

Aufgabe 1:

 

Im nächsten Sketch werden wir eine LED abhängig von der Umgebungslichtstärke ein- oder ausschalten. Das heisst, wir suchen einen bestimmten Grenzwert. Wenn das Umgebungslicht diesen Grenzwert unterschreitet, dann soll die LED zu leuchten beginnen. 

Um einen sinnvollen Grenzwert zu finden, müssen wir erst einmal herausfinden, wie hoch der Umgebungslicht-Wert im Moment ist. Wenn du Sketch 1 auf deinen Arduino geladen hast, dann öffne anschliessend den seriellen Monitor und schau dir die Lichtwerte dort an.

Wähle einen sinnvollen Grenzwert aus. Dieser sollte etwas kleiner sein als die Umgebungslicht-Stärke. 

 

Sketch 2

Link zum Sketch

 

Aufgabe 2:

Passe den Grenzwert entsprechend den Untersuchungen aus Aufgabe 1 an. 

 

 

Vertiefungsaufgaben

Vertiefungsaufgabe 1:

Verändere den Sketch so, dass die LED genau dann leuchtet, wenn das Umgebungslicht oberhalb von deinem definierten Grenzwert liegt. Sonst soll sie nicht leuchten. 

 

Vertiefungsaufgabe 2:

Es wäre praktisch, wenn man in Sketch 2 auch noch die aktuellen Messdaten vom Sensor darstellen könnte, damit man den Grenzwert allenfalls anpassen kann.

Verändere den Sketch 2 so, dass der Arduino zusätzlich auch noch die aktuellen Messdaten vom Fotowiderstand im seriellen Monitor anzeigt. 

 

Vertiefungsaufgabe 3:

Für diese Vertiefungsaufgabe brauchst du eine weitere LED (mit Vorwiderstand). 

Erstelle nun einen Sketch, so dass die eine LED (LED1) nur dann leuchtet, wenn der Grenzwert überschritten wird und die andere LED (LED2) nur dann leuchtet, wenn der Grenzwert unterschritten wird. 

 

Vertiefungsaufgabe 4:

Momentan ist der Fotowiderstand am analogen Pin angeschlossen und wir kriegen die Messdaten von ihm. Nun wollen wir aber einmal einen anderen Sensor verwenden. 

Verändere den Sketch 2 so, dass du statt einem Fotowiderstand ein Potentiometer (Drehregler) verwendest. Du sollst also durch drehen des Potentiometers eine LED ein- bzw. ausschalten können. 

 

 

Rückblick

In diesem Posten kam ausser dem Fotowiderstand eigentlich nichts neues dazu. Wir haben aber das Gelernte von den vorherigen Posten vertieft.

 

Repetiert nun zu zweit, was folgende Arduino-Begriffe bedeuten und wie man sie anwendet:

  • analogWrite
  • if / else

 

  

Erweiterungsmöglichkeiten

Wenn du den Fotowiderstand auf die LED richtest, welche du anzündest, kannst du ganz lustige Effekte erzeugen. Z.B. kannst du dann eine Lampe bauen, die zu leuchten beginnt, wenn man sie mit einer externen Leuchtquelle beleuchtet. Auslöschen jedoch kann man sie erst, wenn man ein Blatt (oder einen anderen Gegenstand) zwischen die Lampe und den Fotowiderstand schiebt, so dass dieser nicht mehr von der Lampe angezündet wird. 

 

Willst du dies einmal ausprobieren?