Inhaltsverzeichnis

10.1. Potentiometer

Potentiometer zählen zu den variablen Widerständen. Mit einer Drehbewegung am Potentiometer Knopf können wir diesen Widerstandswert erhöhen oder verringern. Du kennst Potentiometer garantiert auch aus dem Alltag: zum Beispiel als Drehknopf zum Einstellen der Lautstärke an deinem Radio oder als Dimmer für deine Deckenlampe

In dieser Lektion möchten wir uns diesen einstellbaren Widerstandswert zu Nutze machen. 
Die grüne Leuchtdiode auf unserem Funduino Cube soll in Abhängigkeit des Widerstandswertes unseres Potentiometers aufleuchten.
Dabei soll der Widerstandswert unseres Potentiometers die Blinkdauer unserer grünen LED vorgeben.

10.1.1. Konfiguration in OpenRoberta

Schritt 1:

Wir starten mit dem Hinzufügen des Blocks für das Potentiometer.

Den Block findest du unter „Sensoren„, relativ weit unten.

Ziehe den Block mit der linken Maustaste in deine ROBOTERKONFIGURATION.

Anschließend kannst du einen Namen für deinen Block vergeben. Wir nennen unseren Block „Potentiometer„. 

Abbildung Schritt 1

Schritt 2:

Nachdem wir den Block erfolgreich zu unserer ROBOTERKONFIGURATION hinzugefügt haben, müssen wir jetzt den Pin angeben, an welchem das Potentiometer mit dem Funduino Cube verbunden ist.

Schaue jetzt auf deinen Funduino Cube und lies den Pin ab. An welchem analogen Eingang ist das Potentiometer mit dem Cube verbunden?

Abbildung Schritt 2

Schritt 3:

Richtig, das ist der analoge Eingang A6.

Nachdem wir die Verbindung zwischen dem Potentiometer und dem Mikrocontroller in unserer ROBOTERKONFIGURATION eingestellt habe, fügen wir jetzt noch unsere grüne LED hinzu.

Den Baustein für die LED findest du unter „Aktion„.

Toll gemacht! Unsere ROBOTERKONFIGURATION ist jetzt abgeschlossen. Wir gehen jetzt zum PROGRAMM über. 

Abbildung Schritt 3

10.1.2. Beispielprogramm in OpenRoberta

In dieser Lektion möchten wir eine LED in Abhängigkeit des analogen Widerstandswertes (zwischen 0 und 1023 bei 5V anliegender Spannung) des Potentiometers blinken lassen.

Beispiel:

Wenn ein Widerstandswert von 500 vorliegt, soll die grüne LED für 500ms (0,5 Sekunden) aufleuchten und danach für 500ms ausgeschaltet bleiben.
Wenn wir den Widerstandswert auf 1000 erhöhen, soll die grüne LED für 1000ms (1 Sekunde) aufleuchten und danach für 1000ms ausgeschaltet bleiben.

Doch woher weiß der Mikrocontroller auf unserem Funduino Cube, welcher Widerstandswert gerade anliegt?
Schließlich können wir den Widerstandswert mit einer Drehbewegung am Potentiometer beliebig einstellen, oder?

Die Lösung liegt in sogenannten Variablen. Mit einer Variable können wir, so wie es der Name schon vermuten lässt, variable, also sich verändernde Zahlenwerte sichern und innerhalb unseres Programms an beliebigen Stellen abrufen

In dieser Lektion hilft uns eine Variable zum Beispiel dabei, den Widerstandswert als Zahl zu speichern. Und genau damit starten wir jetzt!

Schritt 1:

Wir fügen zu unserem PROGRAMM eine Variable hinzu, indem wir auf das helle + Symbol in unserem PROGRAMM klicken.

Abbildung Schritt 1

Schritt 2:

Anschließend vergeben wir für diese Variable einen Namen. Damit wir die Übersicht behalten, nennen wir auch diese Variable Potentiometer.

Abbildung Schritt 2

Schritt 3:

Danach müssen wir dem Mikrocontroller noch erklären, welche Art von Variable sich hinter unserer Varible „Potentiometer“ verbirgt.

Wir haben unter anderem die Wahl zwischen „Zahl„, „Zeichenkette“ (Buchstaben) oder „Farbe„. 

Mit unserem Potentiometer möchten wir einen Zahlenwert in der Variable speichern. Wir wählen hier deshalb den Punkt „Zahl“ aus. 

In dem Mathematik Baustein, der hinter unserer Variable steht, geben wir einen Startwert vor. Dieser ist meistens „0„. Wenn wir die Variable „Potentiometer“ im weiteren Programmverlauf mit keinen neuen Informationen füllen sollten, bleibt der Wert „0“ hinterlegt. 

Eigentlich ganz logisch, oder?

Abbildung Schritt 3

Schritt 4:

Nachdem wir unsere Variable „Potentiometer“ erfolgreich definiert haben, fügen wir den ersten Baustein für Variablen zu unserem PROGRAMM hinzu.

Den Baustein den wir verwenden möchten, heißt „Schreibe [Variable]„.
In unserem konkreten Beispiel heißt dieser Baustein „Schreibe Potentiometer„. 

Wir fügen diesen Baustein mit einem linksklick zu unserem PROGRAMM hinzu. 

Abbildung Schritt 4

Schritt 5:

Dein PROGRAMM sollte jetzt so aussehen, wie in Abbildung Schritt 5 dargestellt.

Wir haben in dem PROGRAMM zum jetzigen Zeitpunkt festgelegt, wie unsere Variable heißt und welche Art von Wert wir in ihr speichern möchten (Zahl).

Jetzt fehlt eigentlich nur noch der Zahlenwert, der in unserer Variable gespeichert werden soll.

Abbildung Schritt 5

Schritt 6:

Den Zahlenwert unseres Potentiometers möchten wir direkt aus dem Programm-Block in unsere Variable schreiben lassen.

Hierfür wählen wir den Block für das Potentiometer unter „Sensoren“ aus und ziehen dieses in unser PROGRAMM.

Abbildung Schritt 6

Schritt 7:

Schaue jetzt in Abbildung Schritt 7 und überprüfe, ob dein PROGRAMM genauso aussieht, es dort dargestellt.

Zur Wiederholung:

Wir haben in unserem PROGRAMM jetzt festgelegt, dass wir eine Variable mit dem Namen Potentiometer anlegen möchten, in welcher ein Zahlenwert gespeichert werden soll.

Dieser Zahlenwert wird anschließend direkt vom Potentiometer in unsere Variable mit dem Namen „Pontiometer“ geschrieben.

Abbildung Schritt 7

Schritt 8:

Wir erinnern uns an den ersten Teil unserer Aufgabenstellung zurück:

Die grüne Leuchtdiode auf unserem Funduino Cube soll in Abhängigkeit des Widerstandswertes unseres Potentiometers aufleuchten.

Wir ergänzen unser PROGRAMM also noch um unsere grüne Leuchtdiode.

Abbildung Schritt 8

Schritt 9:

Jetzt erinnern wir uns an den zweiten Teil unserer Aufgabenstellung zurück:

„Dabei soll der Widerstandswert unseres Potentiometers die Blinkdauer unserer grünen LED vorgeben.“ 

Wir ergänzen PROGRAMM deshalb um einen „Warte ms“ Block, den du im linken Menü unter „Kontrolle“ findest.

An Stelle des Mathematik-Bausteins (500), fügen wir jetzt unsere Variable ein. Hierfür löschen wir zunächst den Mathematik-Baustein.

Abbildung Schritt 9

Schritt 10:

Anschließend navigieren wir in das linke Menü und wählen unter „Variablen“ den Baustein „Potentiometer“ aus.

Diesen Block ziehen wir mit einem Linksklick in unser PROGRAMM und fügen Ihnen an den Baustein „Warte ms“ an. 

Abbildung Schritt 10

Schritt 11:

Toll gemacht, das war gar nicht so einfach!

Dein Programm sieht jetzt so aus, wie in Abbildung Schritt 11 dargestellt.

Da wir die LED blinken lassen möchten, müssen wir jetzt noch zwei Blöcke ergänzen. Weißt du noch, wie das geht?

Abbildung Schritt 11

Schritt 12:

Blicke jetzt in Abbildung Schritt 12 und vergleiche dein PROGRAMM mit dem aus der Abbildung.

Wenn du alles richtig gemacht hast, kannst du dein PROGRAMM auf den Funduino Cube laden. 

Drehe doch mal am Potentiometer und schaue, wie sich die Blinkfrequenz der grünen LED verändert.

Frage:
Wie müsste das PROGRAMM und die ROBOTERKONFIGURATION eigentlich aussehen, wenn wir bei einem Widerstandswert von weniger als 512 die grüne LED und bei mehr als 512 die rote LED leuchten lassen möchten?

Abbildung Schritt 12