EV3: Ablauf-Regelung

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Abb. 1: Die Ablauf-Regelung

Autoren: Prof. Dr.-Ing. Schneider, K.-J. Thiemeyer

Einleitung

Die Lego-Programmierumgebung bietet einige sinnvolle Icons zur Beeinflussung der Programmsteuerung, die hier im Einzelnen vorgestellt werden sollen.

Start

Mit Start beginnt das Programm.

Warten

Abb. 2: Warte 1 s

Die Warteschleife stoppt das laufende Programm solange, bis die im Icon eingestellte Bedingung erfüllt ist. Im Beispiel rechts: nach 1 Sekunde. Anschließend wird das Programm weitergeführt.

Schleife

Abb. 3: Schleife

In eine Wiederholung lassen sich beliebig viele Aktionen einfügen. Das dadurch erstellte Unterprogramm wird wiederholt. Wie oft wiederholt wird, kann wiederum am Icon eingestellt werden. Im Beispiel rechts weist die liegende Acht darauf hin, dass hier unendlich oft wiederholt werden soll. Wenn man dies auswählt, sollte man im Programm selbst dafür sorgen, dass es keine "Endlosschleife" bleibt.

Schalter

Abb. 4: Warte 1 s

Ein Schalter wird notwendig, wenn z.B. der Roboter in verschiedenen Situationen unterschiedlich reagieren soll. In dem Schalter-Icon wird zunächst die Bedingung abgefragt, unter der die verschiedenen Reaktionen erfolgen sollen. Im Beispiel rechts wird beim Tastsensor in Port 1 geprüft, ob der Taster gedrückt wurde oder nicht. Auch in das Schalter-Icon lassen sich beliebig viele Icons einfügen. Im oberen Strang wird das Unterprogramm eingefügt, das abgearbeitet werden soll, wenn der Tastsensor gedrückt wurde. In den unteren Strang wird entsprechend das Unterprogramm eingefügt, dass abgearbeitet wird, wenn der Taster nicht betätigt wurde.

Warteschleifen, Wiederholungen und Schalter lassen sich beliebig kombinieren. So kann in einem Schalter eine Wiederholung auftreten , genauso wie in einer Wiederholung ein Schalter genutzt werden kann.

Schleifen-Interrupt

Beim EV3-Schleifen-Interrupt kannst du eine laufende Schleife vorzeitig beenden.

Aufgabe 3.1 - Programmverständnis

Abb. 5: Was macht das Programm?

Was macht das Programm in Abb. 5?

Aufgabe 3.2 - Immer weiter!

Programmiere den Roboter so, dass er innerhalb einer Schleife immer wieder folgendes macht:

  1. 1 Sekunde vorwärts fahren
  2. 1 Sekunde rückwärts fahren
  3. wiederholen

Verwende eine Endlosschleife.

Challenge: Baue zusätzlich einen Ton ein. Der Roboter soll bei jeder Wiederholung einen kurzen Ton abspielen.

Frage: Wie kannst du verhindern, dass dein Roboter unendlich lange fährt?

Aufgabe 3.3 - Der Roboter entscheidet

Der Roboter soll vorwärts fahren. Sobald du den Tastsensor drückst, soll er rückwärts fahren.

Der Roboter soll also ständig prüfen:

Taster gedrückt?

  • Ja → rückwärts fahren
  • Nein → vorwärts fahren

Challenge: Erweitere das Programm:

  • Taster nicht gedrückt → vorwärts
  • Taster gedrückt → rückwärts + Ton

Aufgabe 3.4 - Stoppen auf Kommando

Der Roboter soll ununterbrochen vorwärts fahren. Sobald der Tastsensor gedrückt wird, soll die Schleife beendet werden. Anschließend soll der Roboter anhalten und einen Ton abspielen.

Challenge: Ändere das Programm so, dass der Roboter nach dem Tastendruck:

  1. stoppt,
  2. einen Ton spielt,
  3. sich um 180° dreht,
  4. anschließend wieder losfährt.



→ zurück zum Hauptartikel: Lego Mindstorms EV3 Grundlagen