Sensor Werte verarbeiten
Zuerst muss man schauen was für ein Sensor benötigt wird z.B. SetSensorLight (S4)
Das in der Klammer sagt aus, was für ein Eingang es sein soll.
On Fwd (OUT_AB, 50);
On Fwd (OUT_A, 100); Vorwärts
On Rev (OUT_B, 100); Rückwärts
SetSensor Touch (S4) Berührung
SetSensorSound Geräusch
SetSensorLight Licht
SetSensor lowspeed (S2) Ultraschall
while (SensorUS (S2) <20) Wiederholung
Variablen
Man gibt der Variable zuerst einen Namen. Z.b. Licht. dann kann man in diesem „Eimer“ eine Zahl reinschreiben z.b. 1. Man muss aber sagen was für eine Zahl es ist (Zahlen mit Nachkommastellen/ganze Zahlen). Das muss man angeben, da der Speicherplatz begrenzt ist. eine Ganze Zahl (1) hat z.b. weniger speicher als eine Zahl mit Nachkommastellen (1,5). int= ganze Zahl
Man verknüpft den Datentyp (welche Art von Zahl) mit dem Namen der Variable.
int steht für den Datentyp. Licht für den Namen der Variable. Sensor (s2) ist der Ausgang der mit dem Lichtsensor verbunden ist. Es wird nur vorwärts gefahren, wenn der Lichtwert kleiner als 30 ist.
while= Fortlaufende schleife
If= einmaliger Ablauf
Schleife
das while steht für eine Schleife, in der Klammer nach while steht wie lange etwas wiederholt wird. Übersetzt: Solange der Wert den der Sensor an S2 liefert kleiner ist als 20 solange wiederhole die beiden Anweisungen darunter. wenn der Sensorwert dann irgendwann größer oder gleich 20 ist, dann werden die Motoren abgeschaltet.
= bedeutet, dass immer der Wert der vorher im Sensor war entfernt wird und dafür ein neuer Wert eingefügt wird.
== bedeutet, dass der Wert, der vorher in dem Sensor steht „rausgeholt“ wird und mit der einer anderen Zahl verglichen wird. Falls die Zahl die gleiche ist wie im Sensor bedeutet es true. Falls der Wert ein anderer ist bedeutet es false. Wenn es true ist wird es diese Schleife die ganze Zeit wiederholt. Wenn es false ist wird dieser Vorgang abgebrochen und es wird kein neuer Wert abgelesen. in dieser Schleife.
!= 1 – liefert wahr/true, wenn der Wert, den der Sensor an S4
gerade nicht den Wert 1 liefert (!= bedeutet „nicht gleich“) D.h true.
1 ist gleich 1 d.h. es ist false weil es mussd nicht gleich der Zahl entsprechen.
Programmverzweigungen
Das if steht für eine Bedingung, die direkt dahinter in der Klammer steht. Die Befehle in der geschweiften Klammer darunter werden dann ablaufe, wenn die Bedingung erfüllt ist. Wenn die Bedingung nicht erfüllt ist springt er den Teil mit den Befehlen in der geschweiften Klammer weiter. Am Ende muss man immer noch ein wait einfügen.
while:
– Es muss eine Schleife eingebaut werden, wenn gewollt ist das die Bedingung mehrmals abgerufen werden soll
– Das abrufen der immer wieder kommenden Bedingung wird so gestoppt wenn am Ende der Befehle eine Klammer kommt, hier zb vor dem off damit das nicht direkt beendet wird
wait:
– Das wait muss eingesetzt werden da der Befehl sonst direkt zum anderen springt
If:
– If ist die Bedingung „wenn“ ( Sensor 2 kleiner als 30 ist dann…)
– Dann kommt zwischen die Klammern was ausgeführt werden soll ( Ausgang A soll Geschwindigkeit 60 fahren und Ausgang B 20 = Drehung nach rechts) wenn die Bedingung erfüllt ist. Wenn nicht wird „else“ ausgeführt.
else:
– sonst soll er eine Drehung nach links machen wenn die Bedingung nicht erfüllt wird ( Ausgang B 60 und Ausgang A 20). else wird nur dann ausgeführt wenn if nicht stimmt.