22.11.2013 Aufrufe

Programmieren von LegoMindstorms-Robotern mit NQC

Programmieren von LegoMindstorms-Robotern mit NQC

Programmieren von LegoMindstorms-Robotern mit NQC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Programmieren</strong> <strong>von</strong> LEGO-MindStorms- <strong>Robotern</strong> <strong>mit</strong> <strong>NQC</strong><br />

OnRev(OUT_A+OUT_C);<br />

Der Roboter hat sich jetzt weit genug bewegt, also erklären wir ihm er soll den Rückwärtsgang einlegen, d.h. rückwärts zu<br />

fahren. Beachte bitte, dass wir beide Motoren auf einmal einstellen können, indem wir OUT_A+OUT_C als Argument<br />

verwenden. Wir hätten die ersten beiden Anweisungen auch auf diese Weise kombinieren können.<br />

Wait(400);<br />

Wir warten wieder 4 Sekunden.<br />

Off(OUT_A+OUT_C);<br />

Und schließlich schalten wir beide Motoren aus. Das ist das vollständige Programm.<br />

Es schaltet beide Motoren für 4 Sekunden in Richtung vorwärts, dann für 4 Sekunden rückwärts und schaltet sie schließlich<br />

aus.<br />

Dir fielen vermutlich die Farben auf, als du das Programm geschrieben hast. Sie erscheinen automatisch, wenn das RCX<br />

Command Center die Worte erkennt. Alles in blau ist ein Befehl für den Roboter, eine Anweisung für einen Motor oder<br />

ein anderer Befehl für den RCX.<br />

Das Wort task ist in fetter Schrift, weil es ein wichtiges (reserviertes) Wort in <strong>NQC</strong> ist. Andere wichtige Worte, die in<br />

fetter Schrift erscheinen, werden wir später kennen lernen.<br />

Die Farben sind sehr nützlich. Daran kannst du erkennen, dass du keine Fehler beim Schreiben gemacht hast.<br />

2.3. Wir lassen das Programm ablaufen<br />

Sobald du ein Programm geschrieben hast, muß es zunächst compiliert werden (das heißt, es muß in den Code, den der<br />

Roboter verstehen und durchführen kann, übersetzt werden). Danach wird es zum Roboter über die Infrarot- Schnittstelle<br />

übertragen. (Der Fachmann spricht vom „Downloading“ des Programms). Es gibt eine Taste, die beides automatisch tut<br />

(siehe die Abbildung oben). Betätigst du diese Taste, dann wird das Programm nacheinander kompiliert und auf den RCX<br />

übertragen. Wenn es Fehler in deinem Programm gibt, werden Sie dir angezeigt (siehe unten.).<br />

Jetzt kannst du dein Programm laufen lassen. Betätige dazu die grüne Run- Taste auf deinem RCX.<br />

Tut der Roboter, was du erwartest? Wenn nicht, sind vermutlich die Leitungen falsch angeschlossen.<br />

2.4. Fehler im Programm ??<br />

Beim Schreiben des Programms ist es wahrscheinlich, dass du einige Fehler machst. Der Compiler bemerkt diese Fehler<br />

und teilt sie dir am unteren Rand des Fensters <strong>mit</strong>, wie in der folgenden Abbildung:<br />

Er wählt automatisch den ersten Fehler aus (hier der<br />

falsche Name des Motors).<br />

Erklärungen zu den Fehlermeldungen findest du im<br />

Anhang.<br />

Wenn es mehrere Fehler gibt, kannst du die Fehlermeldungen<br />

anklicken, um zu ihnen zu gelangen.<br />

Beachte bitte, dass häufig Fehler am Anfang des<br />

Programms andere Fehler an anderen Plätzen<br />

verursachen. Behebe also zunächst die ersten Fehler<br />

und compiliere dann das Programm erneut.<br />

Beachte auch, dass dir die Farb- Kodierung viel hilft,<br />

um Fehler zu erkennen. Beispielsweise in der letzten<br />

Zeile schrieben wir “Of” anstatt “Off”. Weil dieses<br />

ein unbekannter Befehl ist, wird er nicht blau gefärbt.<br />

! !<br />

Die häufigsten Fehler sind falsch gesetzte Klammern und vergessene Strickpunkte am Ende der Befehlszeile.<br />

Wenn beispielsweise die Meldung line 6 : Error: parse error erscheint, so schau doch zuerst in die Zeile<br />

zuvor, ob dort nicht der Strich-Punkt fehlt!<br />

Es gibt auch Fehler, die nicht vom Compiler gefunden werden. Wenn wir OUT_B geschrieben hätten, wäre der Fehler<br />

unbemerkt geblieben, weil dieser Motor existiert, obwohl wir ihn nicht im Roboter benutzen.<br />

Wenn dein Roboter sich also anders verhält, als du erwartet hast, so ist ein Fehler in deinem Programm die wahrscheinlichste<br />

Ursache.<br />

- 7 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!