Modul 1

Herzlich willkommen Roboterbauer*in! Bevor wir starten, folgen einige Informationen zum Aufbau der vierteiligen Einführung. Wir hoffen, dass du während der Einführung in die Welt der Mindstorms®-Roboter genau so viel Spass haben wirst, wie wir damals, als wir unseren ersten Roboter zusammengebaut haben.

Jedes Modul ist in unterschiedliche Themenbereiche aufgeteilt. Dabei werden Themen im Bereich Mechanik und Sensoren sowie Programmierung abgedeckt. In jedem Modul wird zudem ein praktisches Beispiel beschrieben, welches selbständig ausprobiert und erweitert werden kann. Als Abschluss jedes Moduls warten Bonusaufgaben, welche für Fans die Möglichkeit bieten, sich noch weiter mit der kennengelernten Materie auseinanderzusetzen.

Kennenlernen des Sets

In dieser Einführung arbeiten wir mit dem Set 45544 (LEGO® Mindstorms® Education EV3 Basis-Set). Die Einführung kann aber auch ohne Probleme mit einem älteren oder neueren Set durchgearbeitet werden. Wir versuchen bei Besonderheiten der verschiedenen Editionen, diese im Text zu vermerken.

Um LEGO® Technic im allgemeinen und das Set im besonderen besser kennenzulernen, musst du möglichst viele verschiedene Roboter konstruieren. Zuerst wirst du das anhand von Anleitungen oder Videos auf YouTube machen. Je mehr Übung du hast, desto selbständiger wirst du eine Lösung für eine Wettbewerbsaufgabe selbständig aus den früher gemachten Erfahrungen konstruieren.

Für den Anfang empfehlen wir das «EV3 Fahrgestell» zu konstruieren. Es bildet einen guten Ausgangspunkt, um die Funktionen des Roboters zu erlernen.

Falls du eine andere Mindstorms-Version verwendest oder durch eine andere EV3-Edition nicht die erforderlichen Technic-Teile besitzt, kannst du auch den jeweiligen Schnellstart- oder Basis-Roboter laut deiner Anleitung aufbauen. Alle Schnellstart-Roboter sind sehr ähnlich und zeichnen sich durch zwei Parallel geschaltete Servo-Motoren aus, welche durch eine Antriebswelle die Räder oder eine Raupe antreiben.

Wow, super, herzliche Gratulation. Du hast nun deinen ersten Roboter zusammengebaut. Nun schauen wir uns diesen genauer an. Wir haben zwei Servomotoren für den Bau verwendet. Des Weiteren haben wir auf der «Vorderseite», mithilfe den beiden Stangen sowie auch in der Mitte, Platz geschaffen für Sensoren. Zudem hast du die EV3-Steuereinheit (auch Brick genannt) verwendet, indem du ihn mit den zwei Servomotoren verkabelt hast.

Der EV3-Brick ist die Steuerungseinheit bzw. das Gehirn deines Roboters. Er ist der wichtigste Bestandteil jedes Roboters, da er das Programm bzw. die Abfolge der Befehle speichert, die du ihm programmierst. Er ist zudem für die Stromversorgung der Servomotoren und Sensoren zuständig.

Wie wir gesehen haben, verwendet der erste Roboter also noch keine Sensoren. Dies ist für den Einstieg auch gut so und du wirst direkt nachher in Modul 2 lernen, für was du die einzelnen Sensoren einsetzen kannst. Unser Ziel ist es nun, dass wir dem Roboter sagen können, dass er sich bewegen soll. Dazu werden wir unser erstes Testprogramm schreiben.

Um das erste Programm auszuführen, lege ein geladenes Akku-Pack in den EV3-Brick oder 6 AA-Batterien. Sobald die letzte Batterie eingelegt wurde, sollte der Brick starten, einen Startton abspielen und am Schluss das Menu anzeigen.

Als erstes Schalten wir den Brick aus, indem wir die Taste 1 lange drücken und danach mit der Taste 3 nach rechts gehen und dann mit der Taste 2 bestätigen.

Eingeschaltet wird der Brick danach wieder mit einem Druck auf die dunkle, mittlere Taste (2). Die Funktion der einzelnen Tasten ist somit von dir bereits erlernt worden. Die mittlere Taste steht für Bestätigen und Weiter, die als Pfeile geformten Tasten (3) sind dazu da um in den Menüs zu navigieren und die Taste oben links (1) steht für Abbruch oder Zurück.

HINWEIS: Falls der Roboter für längere Zeit nicht benützt wird, bietet es sich an die Batterien aus dem Brick zu nehmen und separat aufzubewahren.

Installation der Software c4ev3

Bevor du die Software installierst, frage deine Eltern, ob du das Programm installieren darfst. Wir verwenden nicht die mitgelieferte Software von LEGO®, da wir mit der Programmiersprache C die Anweisungen schreiben wollen. Dies hilft dir nach LEGO® andere Roboter zu programmieren.

Windows

Du musst zwei Programme installieren:

  1. Lade den Programmiereditor (IDE) Eclipse herunter und installiere diesen auf deinem Computer
  2. Lade danach den Installer von c4ev3 herunter. Wähle die Datei c4ev3-withGCC-setup.exe und installiere diese

Das Team von brickobotik hat eine gute Anleitung zur Installation geschrieben.

Mac oder Linux

Hier ist die Installation schwieriger. Bitte deine Eltern oder einen PC-Crack um Hilfe. Du musst zuerst Eclipse installieren, danach kannst du anhand dieser Anleitung (unter Manual Installation) die erforderliche Toolchain installieren.

Mein erstes Programm

Gratulation, dass du es bis hierhin geschafft hast. Du hast in diesem ersten Modul bereits vieles gelernt und installiert. Nun wollen wir aber unser erstes Programm schreiben.

  1. Öffne Eclipse und gehe dann auf File → New → Project.
  2. Wähle bei Project type «Hallo Welt EV3 Projekt» und «Cross ARM/EV3 GCC» unter toolchain.
  3. Das Projekt kann nun via den Menü-Eintrag EV3 → Upload and run gestartet werden.
  4. Alle Programme findest du ebenfalls auf dem EV3 unter SD_Card/myapps/ damit du diese auch später ausführen kannst.

Falls du hier nicht weiter kommst, verweisen wir wiederum gerne auf eine Anleitung von brickobotik zum Erstellen eines Eclipse-Projektes.

Nun schreiben wir unser erstes Programm und führen dies aus. Übernehme den Code 1 zu 1 und lese ihn durch. Wir haben sogenannte Kommentare für jede Zeile eingefügt, damit du Linie für Linie nachlesen kannst, was der Befehl eine Zeile weiter unten im Programm genau macht.

/*
 * Jedes Programm muss mit dieser Initialisierungszeile
 * ausgeführt werden.
 * Damit werden alle Werte vordefiniert, die nachher
 * von Funktionen für den EV3 benötigt werden.
 */
#include <ev3.h>

/*
 * Die Funktion «isExitButtonPressed» wird definiert
 * Sie liefert einen bool zurück, d.h.
 * der Wert kann entweder wahr bzw. true
 * oder unwahr bzw. false sein.
 * Was ist in diesem Fall true oder false?
 * Es wird geprüft ob der «Exit-Button»
 * gedrückt (ButtonIsDown) ist.
 * Die Funktion gibt somit true oder false
 * zurück (return).
 */
bool isExitButtonPressed() {
    return ButtonIsDown(BTNEXIT);
}

/*
 * Hier beginnt das eigentliche Programm.
 * In der Funktion main welche eine Zahl (integer)
 * zurückgibt.
 */
int main () {
    /*
     * Damit werden alle Befehle der Bibliothek
     * in deinem Programm verfügbar gemacht.
     */
    InitEV3();

    /*
     * So lange der «Exit-Button» nicht (!)
     * gedrückt ist, führe den Code zwischen den
     * geschweiften Klammern {} aus. Hier handelt es
     * sich um eine sogenannte While-Schleife.
     */
    while (!isExitButtonPressed()) {

      /*
       * Fahre synchron vorwärts mit Tempo 25, wobei die
       * Servos an den Ports B und C hängen.
       */
       OnFwdSync(OUT_BC, 25);

    }

    /*
     * Stoppe die Servos auf den Ports B und C.
     */
    Off(OUT_BC);

    /*
     * Damit werden alle Befehle der Bibliothek
     * in deinem Programm gelöscht.
     */
    FreeEV3();
    /*
     * Die Funktion main ist fertig und gibt
     * den integer 0 zurück.
     */
    return 0;
}

Das Programm fährt den Roboter somit so lange mit Tempo 25 vorwärts, bis die Taste «Zurück» gedrückt wird.

Du kannst nun weiter an deinem Roboter herumexperimentieren. Falls du noch mehr über den EV3 erfahren möchtest, versuche die beiden Bonusaufgaben zu lösen. Dazu benötigst du weitere Befehle, welche du in diesem c4ev3 Befehle PDF findest.

Wann immer du willst, kannst du auch zu Modul 2 wechseln, in welchem du die Sensoren kennenlernen und anwenden wirst. Wir wünschen weiterhin viel Spass!

Bonusaufgaben

Aufgabe 1: Versuche ein Programm zu schreiben, in welchem dein Roboter von seiner Startposition aus ein möglichst exaktes Vierreck abfahren soll. Schau dir die Funktionen «Wait()» und «Off()» an und versuche diese mit der Funktion «OnFwdSync()» zu kombinieren. Diese beiden Funktionen wirst du mehrere Male nacheinander in der while-Schleife des obigen Programmes aufrufen müssen. Als Zusatz kannst du die Startposition deines Roboters markieren und ihn danach 10x das Viereck fahren lassen. Schau dir danach die Abweichung zum Startpunkt an und überlege dir, wie du dein Programm verbessern kannst, und ob Änderungen am Bau des Roboters ebenfalls zu Verbesserungen führen könnten.

Aufgabe 2: Versuche ein Programm zu schreiben, welches dem Roboter sagt, dass er einen Weg in Form des Anfangsbuchstaben deines Vornamens abfahren soll. Als Zusatz kannst du für mehrere Buchstaben ein Programm schreiben und auf deinem Brick einzeln abspeichern. Deine Geschwister oder Eltern können danach erraten, welcher Buchstabe dein Roboter darzustellen versucht.

Vorwärts zu Modul 2.

Schreibe einen Kommentar