Inhaltsverzeichnis

9.1. Fotowiderstand (LDR) am Funduino Cube

Mit Sensoren können wir die unterschiedlichsten Dinge auf der Welt erkennen und auswerten. Es ist daher fast schon als selbstverständlich zu betrachten, dass es auch einen Sensor zur Erkennung der Helligkeit gibt. Diese Sensoren werden Fotowiderstand genannt.

In dieser Lektion möchten wir unseren Augen etwas gutes tun und eine Überwachungsstation bauen, die uns anzeigt, wenn es in unserem Raum zu dunkel ist.

Wenn es in unserem Raum zu dunkel ist, soll eine rote LED aufleuchten. Ansonsten soll eine grüne LED aufleuchten.

9.1.1. Konfiguration in OpenRoberta

Schritt 1:

Im ersten Schritt fügen wir unseren Fotowiderstand zu unserer ROBOTERKONFIGURATION hinzu.

Doch Achtung: Der Fotowiderstand ist nicht als eigener Baustein in der ROBOTERKONFIGURATION geführt. Wir greifen deshalb auf den Baustein „Sensor analog“ zurück.

Warum analog? Der Fotowiderstand gibt Zahlenwerte in einem Zahlenbereich (bei 5V anliegender Spannung ist das der Bereich von 0-1023) zurück.
Wir können dadurch ein ganzes Helligkeitsspektrum erfassen. 

Den passenden Baustein findest du im Menü auf der linken Seite unter „Sensoren„.

Abbildung Schritt 1

Schritt 2:

Nachdem wir diesen Baustein in unsere ROBOTERKONFIGURATION eingefügt haben, vergeben wir für diesen einen Namen.

In unserem Aufbau soll der Baustein jetzt „LDRFotowiderstand“ heißen.

Abbildung Schritt 2

Schritt 3:

Jetzt müssen wir nur noch den Pin bestimmen, an dem unser Fotowiderstand mit dem Mikrocontroller auf unserem Funduino Cube verbunden ist.

Auf deinem Funduino Cube ist dies der Pin A7. 

Abbildung Schritt 3

Schritt 4:

Toll gemacht!

In unserer Aufgabenstellung wird vorgegeben, dass in Abhängigkeit der Helligkeit entweder eine rote LED oder eine grüne LED aufleuchten soll.

Wir ergänzen unsere ROBOTERKONFIGURATION deshalb um die beiden LEDs.

Unsere ROBOTERKONFIGURATION ist durch das Hinzufügen der LEDs vollkommen abgeschlossen. Wir können uns jetzt dem PROGRAMM zuwenden.

Abbildung Schritt 4

9.1.2. Beispielprogramm in OpenRoberta

Schritt 1:

Unsere Aufgabenstellung sieht vor, dass eine rote LED immer dann leuchtet, wenn ein gewünschter Helligskeitswert unterschritten wird.

Ansonsten soll die grüne LED leuchten und uns dadurch signalisieren, dass die Helligkeit im Raum in ausreichend ist. 

Wir fügen deshalb im ersten Schritt eine bereits bekannte Schleife/Bedingung zu unserem PROGRAMM hinzu. 

Abbildung Schritt 1

Schritt 2:

Anschließend müssen wir unsere Schleife um einen Operator-Block erweitern.

Dieser Operator-Block wird uns im Laufe des PROGRAMMS dabei unterstützen, die richtige  Leuchtdiode in Abhängigkeit der Helligkeit anzusteuern.

Abbildung Schritt 2

Schritt 3:

Wir ergänzen diesen Operator-Block in unserer Schleife

Es fällt auf, dass sich in unserem Operator-Block noch zwei leere Felder befinden, die wir in den nächsten Schritten jetzt füllen möchten.

Welche Inhalte müssen wir jetzt ergänzen?

Wenn die Helligkeit unterschritten wird, dann soll…“

Abbildung Schritt 3

Schritt 4:

Richtig, wir müssen auf jeden Fall einen Block zum Auslesen des Sensorwertes unseres Fotowiderstands ergänzen.

Zunächst navigieren wir hierfür in das Menü an der linken Bildschirmseite und ziehen den Block für unseren analogen Sensoren, unseren Fotowiderstand, in die erste frei Fläche in unserem Operator-Block.

Diesen Block finden wir im Menü „Sensoren„. 

Abbildung Schritt 4

Schritt 5:

Der Abbildung Schritt 5 kannst du entnehmen, wie dein PROGRAMM jetzt aussehen sollte.

Toll gemacht! Mit diesem Schritt haben wir grundsätzlich erst einmal die Helligkeit mit unserem Fotowiderstand ausgelesen.

Jetzt möchten wir ergänzen, ab welchem Schwellenwert unsere LEDs ein- bzw. ausgeschaltet werden sollen.

Abbildung Schritt 5

Schritt 6:

Den Block für eine einfache Zahleneingabe, wie wir Sie jetzt für unser PROGRAMM benötigen, findest du unter „Mathematik„. 

Füge diesen Block jetzt zu deinem PROGRAMM hinzu. 

Abbildung Schritt 6

Schritt 7:

Wenn wir unser PROGRAMM jetzt in unsere Sprache übersetzen würden, wäre die Aussage wie folgt:

Wenn der analoge Wert von unserem Fotowiderstand gleich 0 beträgt, dann…“.

Da wir die rote LED immer dann einschalten möchten, wenn ein von uns festgesetzter Helligkeitswert unterschritten wird (also kleiner als… ist), ändern wir jetzt den Operatoren in unserem Operator-Block von „= (gleich)“ auf „< (kleiner)„.

Abbildung Schritt 7

Schritt 8:

Wir erinnern uns an die ersten Lektionen zurück: analoge Sensoren, die mit 5V angesteuert werden, bilden ein Zahlenspektrum von 0-1023 ab.

Wir nehmen in unserem Aufbau an, dass es in unserem Raum ab einem Helligkeitswert von „512“ so dunkel ist, dass wir nicht mehr gut lesen können. Deshalb tragen wir in unseren Mathematik-Baustein den Wert „512“ ein. 

Abbildung Schritt 8

Schritt 9:

Toll gemacht!

Wir übersetzen zur Kontrolle noch einmal unser PROGRAMM in eine für uns verständliche Sprache:

Wenn der analoge Wert von unserem Fotowiderstand kleiner 512 beträgt, dann…“.

Wir müssen in unserem letzten Schritt nur noch die beiden Leuchtdioden ergänzen. Natürlich weißt du schon längst, wie das geht. Falls nicht, schaue dir die früheren Lektionen noch einmal genauer an.

Abbildung Schritt 9

9.1.3. Programmcode in der Arduino Synthax