Inhaltsverzeichnis
Lego Mindstorms, Container
Um im Programm Werte zu speichern nimmt man die sogenannten Container. Da gibt es den „normalen“ Container, dessen Inhalt durch die Grundrechenarten verändert werden kann. Und es gibt die interne Stoppuhr (sozusagen ein Container, der sich nach dem Starten selbst füllt). Und schließlich gibt es den Briefkasten, also einen Container, der empfangene (Zahl-)Nachrichten enthält.
Interne Stoppuhr
Unter „Regelung“ war schon das folgende Beispielprogramm mit der internen Stoppuhr enthalten:
Die „rote“ Stoppuhr wird am Anfang initialisiert (auf Null gesetzt und gestartet) und zum Programmende abgefragt. Je nachdem, ob die enthaltene Zeit (in Zehntelsekunden) kleiner-gleich bzw. größer als die Vergleichszeit ist (hier: 0.5 s, sinnvoll wäre jedoch eine Zahl wie 250, also 25 s) wiederholt der Roboter das Programm oder bleibt stehen.
Container
Ein ähnliches Programm kann man unter Verwendung des Containers schreiben - hier wird nach jedem angefahrenen Hindernis (jedem „Druck“) der Wert des Containers um 1 erhöht, und am Ende zum Vergleich ausgelesen - nach 5 Hindernissen soll der Roboter stoppen.
Die Initialisierung setzt den Wert des Containers auf Null, mehr passiert hier dabei nicht. Die weitere Veränderung des Wertes des Containers muss bewusst durch das Setzen der entsprechenden Symbole geschehen.
Kombination aus Stoppuhr und Container
Hier soll der Roboter für eine vorgegebene Mindestzeit Hindernisse anfahren und nach dem Ablauf der Zeit so häufig piepsen wie er Hindernisse angefahren hat.
Vereinfachung
Anstelle der Subtraktion und der Abfrage-Sprung-Schleife (bei der ein Zweig ohne Aktion bleibt) lässt sich auch ein Zählschleife verwenden. Die Anzahl der Schleifen wird hier nicht fest vorgegeben sondern dem entsprechenden Container entnommen (gekennzeichnet durch das invertierte Symbol)1)
Nachrichten senden
Beispielprogramm für Roboter 1:
Der Roboter soll einen Ton spielen, um zu zeigen, dass das Programm gestartet wurde. Nachdem ein Sensor ein Drucksignal erhalten hat wird eine Nachricht gesendet.
Beispielprogramm für Roboter 2:
Zu Beginn des Programms wird der „Briefkasten“ des Roboters geleert. Dann wartet der Roboter auf eine eingehende Nachricht. Nachdem eine Nachricht erhalten wurde, wird Motor A rückwärts bewegt und nach weiteren 2 s gestoppt - der Roboter fährt also nach Erhalt einer Nachricht für 2 s rückwärts eine Linkskurve.