TigerJython4Kids
HomeTurtlegrafikRobotikDatenbanken
loslegen

1. LOSLEGEN

 

 

DU LERNST HIER...

 

wie du den EV3 bedienst und ein erstes Roboterprogramm erstellst, dass du auf den EV3 hinunterlädst und dort ausführst.

 

 

DAS EV3-MENÜ BEDIENEN

 

In allen folgenden Beispielen gehen wir davon aus, dass du den EV3 mit der SD-Karte gestartet hast und die Bluetooth-Verbindung gemäss der Anleitung funktioniert.

Im leJOS-Menü wählst du mit RIGHT und ENTER-Tasten
Programs, wählst mir der ENTER-Taste BrickGate.jar und startest das Programm mit weiterem Klick auf die ENTER-Taste.
 

 

Du siehst jetzt das Menü des Brickgate-Servers.

Mit den Cursor-Tasten wählt man das auszuführende Programm. Das Programm HelloPython ist bereits vorhanden. Führen es mit der ENTER-Taste aus.

Um ein unsachgemäss oder blockierendes Programm abzubrechen, kann man die zwei Tasten DOWN+ENTER drücken. Man muss nachher den Brickgate-Server neu starten.

Für die Programmentwicklung verwendest du die Enwicklungsumgebung TigerJython. Falls sie auf deinem Computer noch nicht installiert ist, musst du sie zuerst einrichten.

Du startest nun TigerJython und musst in den Einstellungen die LegoEV3 Robotik aktiv machen.

Wähle auch "Nach Download ausführen", damit das Programm ohne dein Zutun nach dem Download ausgeführt wird.

In der letzten Zeile muss du die IP-Adresse
10.0.1.1 eingeben. Die wird standardmässig für alle EV3 Roboter verwendet.

 

Du siehst nun im Menü von TigerJython einen zusätzlichen Button, mit dem du das Programm auf den EV3 downloaden und ausführen kannst.

 

 

REAL- UND SIMULATIONSMODUS

 

Hast du keinen Roboter in der realen Welt, so kannst du einen simulierten Roboter in einer virtuellen Welt verwenden. Viele Programme laufen praktisch unverändert im Real- oder Simulationsmodus. Dazu muss einzig eine andere Bibliothek importiert werden und zwar 

from ev3robot import *    im Realmodus

from simrobot import *    im Simulationsmodus

Da sich die Roboter in der realen und virtuellen Welt nicht genau gleich schnell bewegen, musst du eventuell auch gewisse Zeitangaben (Timings) anpassen. Das Programm wird im Simulationsmodus mit dem grünen "Run-Pfeil" gestartet.

 

 

MUSTERBEISPIEL

 

Mit deinem ersten Programm bewegst du den Roboter während 2 Sekunden (2000 Millisekunden) vorwärts, während 550 Millisekunden links und während 2000 Millisekunden rückwärts.

Dazu erstellst du mit  robot = LegoRobot() einen Roboterobjekt, wobei der Bezeichner robot frei wählbar ist. Mit gear = Gear() erzeugst du ein Fahrwerkobjekt (bestehend aus den beiden Motoren) und sagst mit robot.addPart(gear), dass diese an den Motorports A und B angeschlossen sind. Nun kannst du mit Befehlen an das Fahrwerk den Roboter bewegen. Zuletzt musst du noch mit robot.exit() alle Ressourcen freigeben.

 

Realmodus   Simulationsmodus
from ev3robot import *
  
robot = LegoRobot()
gear = Gear()
robot.addPart(gear)
gear.forward(2000)
gear.left(550)
gear.backward(2000)
robot.exit()
 
from simrobot import *
  
robot = LegoRobot()
gear = Gear()
robot.addPart(gear)
gear.forward(2000)
gear.left(550)
gear.backward(2000)
robot.exit()
Programmcode markieren (Ctrl+C kopieren)   Programmcode markieren (Ctrl+C kopieren)

Nachdem du das Programm im Editor geschrieben oder eingefügt hast, kannst du den Download-Button drücken und das Programm wird auf den Roboter heruntergeladen und ausgeführt. Pass auf, dass der Roboter nicht von Tisch herunter fällt!

Im Simulationsmodus klickst du einfach auf den Run-Button.

 

 

MERKE DIR...

 

Das Programm erscheint jetzt auch im Menü des EV3 und du kannst es wieder mit den Cursor- und ENTER-Tasten ausführen.

Da die Programme im Real- und Simulationsmodus sich nur in der Importzeile unterscheiden, fügen wir im Folgenden in den Musterbeispielen beide Importzeilen ein, wobei der Import für den Realmodus mit dem Kommentarzeichen # auskommentiert (deaktiviert) ist. Je nachdem, welchen Modus du verwenden willst, musst du das Zeichen # vor die nicht verwendete Importzeile setzen.

 

 

ZUM SELBST LÖSEN

 

 

1.

Der Roboter soll einen Gegenstand umfahren. Er soll also:

- 1000 ms vorwärts fahren
- 550 ms rechts drehen
- 1000 ms vorwärts fahren
- 550 ms links drehen
- 1000 ms vorwärts fahren
- 550 ms links drehen
- 1000 ms vorwärts fahren
- 550 ms rechts drehen
- 1000 ms vorwärts fahren
und dann anhalten.

 

2.

Der Roboter soll eine bestimmte Strecke vorwärts fahren, dann um 180 Grad drehen und wieder zurückfahren. Wie du siehst, kannst du dies im Realmodus nur ungenau erreichen, wegen Unregelmässigkeiten der Motoren und unteerschiedlicher Bodenbeschaffenheit die Bewegung nicht exakt reproduzierbar ist. Dies ist für die Robotik typisch und du musst lernen, wie damit umzugehen..

 

   

 

1-1
Fachliche Hinweise:

Der Brickgate-Server zeigt die heruntergeladenen Python-Programme an und man kann sie zur Ausführung auswählen.

Das Python-Programm sendet die Befehle an die Roboter-Hardware über einen internen TCP-Link an den in Java geschriebenen Brickgate-Server, der sie mit der leJOS-Library ausführt.