Schalter-Block

Beim Schalter-Block handelt es sich um einen Behälter, der zwei oder mehr Sequenzen von Programmierblöcken enthalten kann. Jede Sequenz wird als ein Fall bezeichnet. Ein Test zu Beginn des Schalter-Blocks bestimmt, welcher Fall ausgeführt wird. Bei jeder Ausführung des Schalter-Blocks wird jeweils nur ein Fall ausgeführt.
Der hier dargestellte Schalter-Test kann auf Grundlage eines Sensordatenwertes bzw. eines Wertes aus einer Datenleitung entscheiden, welcher Fall auszuführen ist. Nach der Auswahl und Ausführung eines Falls wird das Programm mit den Blöcken nach dem Schalter fortgesetzt.

Beispiel
Das Programm unten lässt einen Roboter das Wort „Touch“ (Berührung) sagen und testet dann, ob der Berührungssensor gedrückt wird. Wenn dies so ist, wird der (obere) Wahre Fall ausgeführt und der Roboter zeigt „Thumbs up“ (Daumen nach oben) und sagt „Yes“ (Ja). Wird der Berührungssensor nicht gedrückt, dann wird der (untere) Falsche Fall ausgeführt und der Roboter zeigt „Thumbs down“ (Daumen nach unten) und sagt „No“ (Nein). Nach dem Schalter sagt der Roboter „Thank you“ (Danke).
Beispiel
Wahrer Fall
Falscher Fall

Der Berührungssensor wird getestet, sobald der Roboter das Wort „Touch“ (Berührung) vollständig ausgesprochen hat. Wenn der Sensor in diesem Moment nach unten gehalten wird, führt der Schalter den „Wahren Fall“ aus, anderenfalls führt er den „Falschen Fall“ aus.
Tipps und Tricks
Ein Schalter wartet nicht darauf, dass ein Sensordatenwert oder eine Datenleitung einen bestimmten Wert erreicht. Der Test wird ausgeführt, sobald der Schalter-Block startet, und einer der Fälle wird sofort nach dem Test ausgewählt und ausgeführt.
In dem Programm oben kannst du den Berührungssensor vor dem Test drücken (oder sogar bevor das Programm startet) und während des Tests gedrückt halten, um sicherzustellen, dass der Schalter den Wahren Fall ausführt. Probiere einfach mal aus, wie lange du mit dem Drücken des Sensors warten und den Roboter immer noch „Yes“ (Ja) sagen lassen kannst.
Du kannst jeden Fall in einem Schalter leer lassen, wenn der Roboter in dieser Situation nichts machen soll. Probiere aus, zwei Blöcke aus dem Falschen Fall im Programm oben zu entfernen, und beobachte, was dann passiert.
Ansicht im Registerformat
Ein Schalter kann in der „Flachen Ansicht“ (siehe Beispiel oben) oder in der „Ansicht im Registerformat“ (siehe Beispiel unten) dargestellt werden. In der Flachen Ansicht werden alle Fälle in verschiedenen Zeilen dargestellt. In der Ansicht im Registerformat ist jeweils immer nur einer der Fälle sichtbar.

Du kannst die Ansicht im Registerformat verwenden, damit dein Programm weniger Platz auf dem Bildschirm belegt. Die Ansicht hat keine Auswirkung auf die Art und Weise, wie der Schalter ausgeführt wird.



Ansichts-Auswahl (Flach-/Registerformat)
Wahrer Fall
Falscher Fall

Um bei der Darstellung eines Schalters zwischen der Flachen Ansicht und der Ansicht im Registerformat zu wechseln, klickst du auf die Ansichts-Auswahl (Flach-/Registerformat)

Um bei einem im Registerformat dargestellten Schalter einen anderen Fall anzuzeigen, klickst du auf die verschiedenen Register am oberen Rand des Schalters.
Tipps und Tricks
Die Blöcke in allen Fällen eines Schalters im Registerformat sind Teil deines Programms, selbst wenn du jeweils nur ein paar von ihnen sehen kannst.
Wähle den Schalter-Test.


Modus-Auswahl
Anschlussauswahl
Eingaben

Verwende die Modus-Auswahl, um die Testart auszuwählen, die der Schalter verwenden wird, um zu entscheiden, welcher Fall ausgeführt werden soll. Du kannst einen Sensorwert oder den Wert aus einer Datenleitung benutzen.

Falls du einen Modus auswählst, in dem ein Anschluss benutzt wird, verwendest du die Anschlussauswahl, um sicherzustellen, dass dieser Anschluss dem Anschluss am EV3-Stein entspricht, an den der Sensor oder Motor angeschlossen ist.

Die verfügbaren Eingaben sind von Modus zu Modus verschieden. In einigen Modi kannst du einen Sensorwert mit einem Schwellenwert vergleichen, und in anderen Modi kannst du auf bestimmte Sensorwerte testen. Die Modi sind nachstehend beschrieben.
Eine Sensorschwelle testen
Der Schalter-Block enthält mehrere Modi, die einen numerischen Sensordatenwert lesen und mit einem Schwellenwert vergleichen, um als Ergebnis den Wert „Wahr“ oder „Falsch“ zu erhalten. Im Modus „Farbsensor – Vergleichen – Stärke des reflektierten Lichts“ könntest du bspw. testen, ob die vom Farbsensor gemessene Stärke des reflektierten Lichts unter dem Wert 50 liegt.

In diesen Modi enthält der Schalter-Block zwei Fälle. Wenn als Ergebnis des Tests der Wert „Wahr“ ausgegeben wird, dann wird der Wahre Fall ausgeführt – und ansonsten der Falsche Fall.
Tipps und Tricks
In der Flachen Ansicht ist der Wahre Fall der mit einem Häkchen markierte obere Fall. Der Falsche Fall ist der mit einem „X“ markierte untere Fall.
Um einen Modus mit einer Sensorschwelle zu verwenden, wählst du die Vergleichsart (z. B. Kleiner als) und gibst den mit den Sensordaten zu vergleichenden Schwellenwert (z. B. 50) ein. Der Schalter-Block liest einen einzigen Sensordatenwert und vergleicht diesen mit einem Schwellenwert, um als Ergebnis den Wert „Wahr“ oder „Falsch“ zu erhalten.
Beispiel
In diesem Programm wird der Schalter-Block im Modus „Farbsensor – Vergleichen – Stärke des reflektierten Lichts“ verwendet, um zu testen, ob die Stärke des reflektierten Lichts weniger als 50 % beträgt. Wenn dies so ist, wird „Low“ (Niedrig) angezeigt, anderenfalls „High“ (Hoch). Der Schalter wird in einer Schleife wiederholt, sodass die Anzeige ständig aktualisiert wird – und zwar auf Grundlage neuer Sensortests.
Tipps und Tricks
Sensortests gehen sehr schnell vonstatten. Ohne die Schleife im Beispiel oben würde das Programm den Sensor nur einmal testen und den Test so schnell abschließen, dass du ihn nicht einmal bemerken würdest.
Auf bestimmte Sensorwerte testen
Die folgenden Modi gestatten es einem Schalter, auf bestimmte Sensorwerte zu testen. Du kannst zwei oder mehr Fälle in dem Schalter erstellen, die den unterschiedlichen Werten entsprechen, auf die getestet werden soll, und der Schalter wählt dann den passenden Fall.
ModusVerwendungszweckSiehe
Stein-Tasten – Messen Je nach gedrückter Stein-Taste zwischen zwei oder mehr Fällen auswählen.Verwendung der Stein-Tasten.
Stein-Tasten – Vergleichen Je nachdem, ob eine der ausgewählten Stein-Tasten „Gedrückt“, „Ausgelassen“ oder „Angestoßen“ wird, zwischen zwei Fällen entscheiden.Verwendung der Stein-Tasten.
Farbsensor – Messen – Farbe Je nach erkannter Farbe zwischen zwei oder mehr Fällen auswählen.Verwendung des Farbsensors
Farbsensor – Vergleichen – Farbe Je nachdem, ob eine der ausgewählten Farben erkannt wurde, zwischen zwei Fällen auswählen.Verwendung des Farbsensors
Infrarotsensor – Messen – Fernsteuerung Je nachdem, welche Taste(n) auf der IR-Fernsteuerung gedrückt wird/werden, aus zwei oder mehr Fällen auswählen.Verwendung des Infrarotsensors im Fernsteuerungsmodus
Infrarotsensor – Vergleichen – Fernsteuerung Je nachdem, ob eine bestimmte Taste (oder eine Taste aus einer Reihe bestimmter Tasten) auf der IR-Fernsteuerung gedrückt wird, einen von zwei Fällen auswählen.Verwendung des Infrarotsensors im Fernsteuerungsmodus
Berührungssensor Je nachdem, ob der Berührungssensor „Gedrückt“ wird (oder nicht), „Ausgelassen“ wird (oder nicht) bzw. „Angestoßen“ wird (oder nicht), einen von zwei Fällen auswählen.Verwendung des Ultraschallsensors
Ultraschallsensor – Vergleichen – Vorhanden Je nachdem, ob ein Ultraschallsignal im Modus „nur hören“ erkannt wird, einen von zwei Fällen auswählen.Verwendung des Ultraschallsensors
Nachrichten Je nach Nachrichten-Wert einen von zwei Fällen auswählen.Nachrichten
Auf mehrere Werte testen
Die Sensoren-Messmodi des Schalter-Blocks gestatten dir die Angabe von zwei oder mehr verschiedenen Sensorwerten, auf die getestet werden soll. Du kannst jedem Wert einen anderen Fall im Schalter zuordnen. Im Modus „Farbsensor – Messen – Farbe“ könntest du beispielsweise auf die Farben Schwarz, Weiß und Rot testen lassen und für jede Farbe einen anderen Fall erstellen.




Fall hinzufügen
Fallwert
Standardfall
Fall entfernen

Um in einem Sensoren-Messmodus mehrere Fälle zu verwenden, klickst du auf die Schaltfläche „Fall hinzufügen“, um die gewünschte Anzahl an Fällen zu erstellen. Klicke für jeden Fall auf die Schaltfläche „Fallwert“, um aus der Liste einen Wert für den Sensor auszuwählen. Du kannst auf die Schaltfläche „Fall entfernen“ klicken, um einen Fall zu entfernen.

Klicke auf die Schaltfläche „Standardfall“, um einen Fall als Standardfall zu markieren. Der Standardfall wird ausgeführt, wenn der Sensor einen Wert erkennt, der keinem der Fälle im Schalter entspricht.

Siehe das Programmierbeispiel: „Sag „rot“, „grün“ und „blau“, wenn du diese Farben erkennst“ unter Verwendung des Farbsensors.

Siehe das Programmierbeispiel: „Stein-Tasten als Steuerung“ unter Verwendung der Stein-Tasten.
Einen Wert aus einer Datenleitung testen
In den Modi „Logischer Wert“, „Text“ und „Numerischer Wert“ kann der Schalter den auszuführenden Fall auf der Grundlage eines Eingabewerts aus einer Datenleitung auswählen.
Modi
Modus „Logischer Wert“
Im Modus „Logischer Wert“ entscheidet ein Schalter auf Grundlage des Wertes in der Eingabe Logischer Wert zwischen einem Wahren Fall und einem Falschen Fall. Mithilfe einer Datenleitung kannst du die Ausgabe „Logischer Wert“ eines beliebigen Programmierblocks mit der Eingabe „Logischer Wert“ eines anderen Programmierblocks verbinden.

Programmierbeispiel: Siehe den Vergleichs-Block.
Modus „Text“
Im Modus „Text“ vergleicht der Schalter den Wert in der Eingabe Text mit zwei oder mehr von dir angegebenen Textwerten und führt dann für jeden Wert einen anderen Fall aus. Es wird der Fall ausgeführt, dessen Wert genau der Texteingabe entspricht. Wenn keine Werte übereinstimmen, wird der Standardfall ausgeführt.

Informationen über die Erstellung mehrerer Fälle findest du weiter oben unter Auf mehrere Werte testen. Jeder Fall im Modus „Text“ besitzt einen Textwert, den du direkt in den dazugehörigen Fallwert eingeben kannst.
Beispiel
Bei diesem Beispiel verwendet ein Schalter im Modus „Text“ die Ausgabe eines Nachrichten-Blocks, um je nach empfangener Nachrichtenart, einen von drei verschiedenen Fällen auszuwählen.
Modus „Numerischer Wert“
Im Modus „Numerischer Wert“ vergleicht der Schalter den Wert in der Eingabe Numerischer Wert mit zwei oder mehr von dir angegebenen Numerischen Werten und führt dann für jeden Wert einen anderen Fall aus. Es wird der Fall ausgeführt, dessen Wert genau der Eingabe Numerischer Wert entspricht. Wenn keine Werte übereinstimmen, wird der Standardfall ausgeführt.

Informationen über die Erstellung mehrerer Fälle findest du weiter oben unter Auf mehrere Werte testen. Jeder Fall im Modus „Numerischer Wert“ besitzt einen Numerischen Wert, den du direkt in den dazugehörigen Fallwert eingeben kannst.
Beispiel
Bei diesem Beispiel verwendet ein Schalter im Modus „Numerischer Wert“ die Ausgabe eines Variablen-Blocks, um einen von drei verschiedenen Fällen auszuwählen. Der Standardfall des Schalters ist leer. Wenn also die Variable „Aktion“ irgendeinen anderen Wert als 1, 2 oder 3 besitzt, macht der Schalter nichts.
Größe eines Schalters ändern
Der Schalter-Block wird in der Regel automatisch erweitert, um Platz für neue Programmierblöcke zu schaffen, die du in die im Schalter enthaltenen Fälle ziehst. Sofern dies nötig ist, kannst du die Größe eines Falles auch manuell ändern. Um in der Flachen Ansicht die Größe eines Falles in einem Schalter zu ändern, klickst du auf den linken oder rechten Rand des Schalters neben dem Fall, dessen Größe du ändern möchtest, und dann ziehst du an den Ziehpunkten zur Größenänderung, die am Außenrand eingeblendet werden.

Tipps und Tricks
In der Ansicht im Registerformat werden alle Fälle in derselben Größe angezeigt. Wenn du in dieser Ansicht einen Fall vergrößerst, werden alle anderen Fälle ebenfalls auf dieser größeren Fläche angezeigt.
Eingaben
Die für den Schalter-Block verfügbaren Eingaben sind vom jeweils ausgewählten Modus abhängig. Du kannst die Eingabewerte direkt in den Block eingeben. Alternativ hierzu können als Eingabewerte auch die Ausgaben anderer Programmierblöcke dienen, die über Datenleitungen übertragen werden.
EingabeTypHinweise
Logische Werte Logische WerteWerden verwendet, um einen Fall im Modus „Logischer Wert“ auszuwählen.
Zahl Numerische WerteWerden verwendet, um einen Fall im Modus „Numerischer Wert“ auszuwählen.
Text TextWird verwendet, um einen Fall im Modus „Text“ auszuwählen.
Vergleichsart Numerische WerteVergleichsart für einen Modus mit einer Eingabe „Schwellenwert“
0: = (Gleich)
1: ≠ (Ungleich)
2: > (Größer als)
3: = (Größer gleich)
4: < (Kleiner als)
5: = (Kleiner gleich)
Schwellenwert Numerische WerteDer mit den Sensordaten zu vergleichende Wert, um einen Wahren Fall oder Falschen Fall auf der Grundlage eines Sensorwertes „Numerischer Wert“ auszuwählen.
(Eingaben für einzelne Sensortypen)Weitere Informationen über die Sensordaten entnimmst du den Hilfe-Beiträgen zu den einzelnen Sensortypen.
Schalter
Direktlinks