Wenn es gleich und/oder ungleich von nicht wahr ist…
Heute lernen wir, wie die Blöcke des Reiters Logik funktionieren.. Es gibt vier Blöcke mit jeweils verschiedenen Möglichkeiten. Sehen wir uns einmal an welche das genau sind!
Um die heutigen Beispiele durchzuführen benötigst du:
- 1 x ZumBloq LED
- 1 x ZumBloq Potentiometer
- 1 x ZumBloq Summer
- 1 x ZumBloq Taster
- 1 x ZumBloq Lichtsensor
- Eine Steuerplatine ZUM BT 328 oder eine, die mit Arduino UNO kompatibel ist
- Ein USB-Kabel
Der Vergleiche-Block
Das kommt dir bekannt vor, stimmt´s? Wir haben diesen Block häufiger zusammen mit dem Steuerblock Wenn… ausführen verwendet. Dieser Block gibt wahr oder falsch aus, je nachdem ob die beiden Eingaben:
- = gleich sind.
- ≠ ungleich sind.
- < die erste Eingabe kleiner ist als die zweite.
- ≤ die erste Eingabe kleiner oder gleich ist wie die zweite
- > die erste Eingabe größer ist als die zweite
- ≥ die erste Eingabe größer oder gleich ist wie die zweite
Auf diese Art und Weise können wir zusammen mit dem Block wenn… ausführen Bedingungen festlegen, damit unser Programm entsprechend bestimmte Anweisungen ausführt. Sehen wir uns ein Beispiel an:
Beispiel mit dem Vergleiche-Block
Wir schalten eine LED ein wenn der Wert des Potentiometers unter 500 liegt
Wenn der Wert des Potentiometers unter 500 liegt, das heißt einem Wert zwischen 0 und 499 entspricht, schaltet sich die LED ein. Im gegenteiligen Fall, wenn der Wert zwischen 500 und 1023 liegt (denk daran, der Wertebereich des Potentiometers liegt zwischen 0 und 1023), schaltet sich die LED aus.
Der Block und/oder
Mit diesem Block können wir verschiedene Bedingungen zur gleichen Zeit überprüfen:
- Option und: Beide Bedingungen müssen erfüllt sein, damit der Wert wahr ist und die Aktion ausgeführt wird.
- Option oder: Mindestens eine der beiden Bedingungen muss erfüllt sein, damit der Wert wahr ist und die Aktion ausgeführt wird.
Wir sehen uns ein Beispiel an, damit du den Unterschied zwischen den Optionen und/oder verstehen lernst:
Beispiel mit dem Block und/oder
Wir lassen den Summer ertönen wenn die folgenden Bestimmungen erfüllt sind:
In diesem Fall ertönt der Summer nur wenn beide Bedingungen erfüllt sind. Das heißt: Wenn die Variable Licht kleiner oder gleich 300 ist UND wir den Taster drücken ertönt der Summer. Wird keine der Bedingungen erfüllt, ist die Bedingung nicht wahr und der Summer ertönt nicht.
Lass uns eins machen: Wir verändern das vorige Programm, indem wir statt der Option UND die Option ODER verwenden. Was passiert nun?
Jetzt ertönt dein Summer häufiger, denn wir geben dem Programm die folgende Information: Wenn die Variable Licht kleiner oder gleich 300 ist ODER wir den Taster drücken ertönt der Summer. Das heißt, dass es ausreichend ist wenn eine der beiden Bedingungen erfüllt ist. Siehst du den Unterschied?
Der Block wahr/falsch
Dieser Block gibt uns den Wert wahr oder falsch aus. Damit du das besser verstehst führen wir ein Beispiel durch:
Beispiel mit dem Block wahr/falsch
Wir erstellen ein Programm bei dem sich die LED einschaltet wenn der Lichtwert größer oder gleich 300 ist und sich im gegenteiligen Fall ausschaltet.
Dieses Programm kommt dir bekannt vor, nicht wahr? Heute wollen wir es ein wenig verändern:Die Variable viel_Licht liest den Wert des Lichtsensors aus. Ist dieser größer oder gleich 300 hat die Variable den Wert wahr im gegenteiligen Fall den Wert falsch. So können wir den Wert der Variablen direkt vergleichen wenn wir den Block wahr verwenden. Wahr bedeutet, dass es sehr hell ist und die LED sich ausschaltet.
Der Nicht-Block
Mit diesem Block können wir eine Variable oder einen Zustand verneinen, zum Beispiel wenn wir an wahr einen Nicht-Block anhängen:
Nicht wahr ist gleichbedeutend mit falsch. Sehen wir uns ein kleines Beispiel an:
Beispiel mit dem Nicht-Block
Wir erstellen ein Programm mit dem Nicht-Block, bei dem der Summer ertönt wenn der Taster gedrückt wird.
Dieses Programm ist eine abgewandelte Version eines anderen, das wir vor einiger Zeit erstellt haben: Die Variable Taste_nicht_gedrückt ist immer wahr wenn der Taster nicht gedrückt wird. Wenn wir erreichen wollen, dass der Summer ertönt muss unsere Bedingung so aussehen: wenn Nicht Variable Taste_nicht_gedrückt. Das heißt, wenn die Verneinung von Taste_nicht_gedrückt wahr ist oder anders gesagt die Taste gedrückt wird, ertönt der Summer. Du wirst denken, dass dieses Programm viel einfacher realisiert werden kann. Dies hier soll nur ein Beispiel sein, um zu verstehen, wie der Block Nicht funktioniert. Den Wert einer Variablen verneinen zu können kann manchmal sehr hilfreich sein. Die Logik ist für die korrekte Funktionsweise deines Programmes besonders wichtig. Wenn du dich an das logische Denken gewöhnst, werden die Dinge anfangen wie durch Zauberhand zu funktionieren. Der Unterschied liegt darin, dass du der Zauberer bist und genau weißt wie der Trick funktioniert. Dennoch, denk beim Beginn eines neuen Projekts immer daran:
“Wichtiger als die Logik ist die Phantasie” Alfred Hitchcock