SENSOR-LUZ

Was ist ein Lichtsensor?

fotorresistencia

Ein Lichtsensor, auch Fotowiderstand oder optoelektronischer Sensor genannt, ist, wie der Name schon sagt, ein Sensor der auf Licht reagiert. Ein Fotowiderstand reagiert auf die Veränderungen der Lichtintensität. Verändert sich diese, ändert sich auch der Widerstand. Je stärker die Lichtintensität ist, desto kleiner ist der elektrische Widerstand.

Dieses Bauteil wird in vielen Geräten aus unserem täglichen Leben eingesetzt. Dazu zählen:

  • Garagentore
  • Alarmsysteme
  • Computer, Telefone und Fernseher (um die Helligkeit des Bildschirms einzustellen).
  • Strichcodeleser

Der Lichtsensor des ZUM Kits gibt Werte zwischen 0 (bei absoluter Dunkelheit) und 800 (bei voller Sonneneinstrahlung) aus. Der Lichtsensor des Bausatzes Mi primer kit de Robótica gibt Werte aus, die ungefähr zwischen 0 und 500 liegen. Es handelt sich um ein analoges Bauteil, denn es wird ein Wertebereich ausgegeben. Bei digitalen Sensoren werden nur zwei Werte ausgegeben, wie es zum Beispiel bei einem Schalter der Fall ist („gedrückt“ oder „nicht gedrückt“). Daher muss der Lichtsensor mit einem der analogen Pins verbunden werden, die mit A0, A1, A2 etc. markiert sind.

Diesen Sensor bezeichnet man als Eingabegerät, da er dazu dient, Daten in das Programm einzugeben. Bei den LEDs oder den Summern hingegen handelt es sich um Ausgabegeräte.

Wie du siehst handelt es sich beim Lichtsensor um ein sehr interessantes Bauteil. Möchtest du lernen, wie man ihn programmiert? Fangen wir an! Du benötigst:

  1. einen ZUMBloq Lichtsensor und eine ZUMBLoq LED
  2. eine Steuerplatine ZUM BT 328 oder eine, die mit Arduino UNO kompatibel ist
  3. ein USB-Kabel

G003522
zumbloqLED

Im Folgenden findest du ein paar Beispiele, um zu lernen, wie man dieses Bauteil verwenden kann. Auf geht’s!

Beispiel 1

LED einschalten wenn der Lichtsensor wenig Licht registriert

Von nun an verwenden wir in den Übungen mehr als ein Bauteil und verbinden alle mit der Platine.

Bevor wir den Lichtsensor verbinden müssen wir allerdings daran denken, dass es sich um ein analoges Bauteil handelt, das auch an einen der analogen Pins, zum Beispiel A0, angeschlossen werden muss. Wir orientieren uns hierfür an dem folgenden Schema:
ZUM-9-5Jetzt programmieren wir die Steuerplatine mit bitbloq, damit sich die LED bei wenig Licht einschaltet. Fangen wir also an. Zuerst müssen wir die Lichtintensität lesen. Dafür weisen wir das Auslesen des Lichtsensors einer Variablen zu. Die Variablen sind „Orte“, an denen wir Daten speichern. Da wir die Variable erstmalig verwenden, müssen wir sie zunächst bestimmen, was so viel heißt wie ihr einen Namen zu geben, den wir während des Programms verwenden. sensordeluzJetzt müssen wir überprüfen, dass die Lichteinstrahlung gering ist. Da wir gesagt haben, dass die Werte beim Lichtsensor des Bausatzes Mi primer kit de Robótica zwischen 0 und 500 liegen, können wir davon ausgehen, dass es bereits dunkel ist, wenn die Variable Lichtintensität bei einem Wert unter 200 liegt. si_luz_menor_200

In diesem Fall müssen wir die LED einschalten, die mit dem digitalen PIN 3 verbunden ist.

encender_LED

Aber das ist noch nicht alles. Versuche die Platine zu programmieren und du wirst merken, dass es nicht exakt so funktioniert, wie du es dir vorgestellt hattest. Was fehlt uns? Die LED schaltet sich nicht aus wenn es wieder hell wird. Versuche einmal, das Programm selber fertigzustellen und vergleiche es dann unten mit der Lösung.

reloj-de-arena-10375

In diesem Fall muss programmiert werden, dass sich die LED bei einem Lichtwert von 200 oder mehr ausschaltet. Dies geschieht folgendermaßen:

elseWie du auf der vorigen Abbildung sehen kannst, kann der Block wenn, dann auch mit anderen Möglichkeiten wie ansonsten erweitert werden. Diese wird dann ausgeführt, wenn die Bedingung nicht erfüllt ist (in diesem Fall wenn die Lichtmenge 200 oder mehr beträgt). Um die Möglichkeit ansonsten hinzuzufügen, klicke auf den Stern des Blocks und wähle sie aus:

Hattest du die Lösung gefunden? Mit Sicherheit! Solltest du aber noch Zweifel haben, kannst du uns gerne fragen. Um das komplette Projekt in bitbloq zu laden musst du das Projekt Nachtlicht suchen.

Traust du dich das Programm zu verändern, so dass sich die Nachtlampe bei Dunkelheit einschaltet und dann nach einer Minute automatisch wieder ausstellt? Anschließend darf sie sich erst dann wieder einschalten wenn es wieder Tag geworden ist. Versuch es mal! Die Lösung findest du in bitbloq unter dem Projekt optimierte Nachtlampe.