NXT

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.