Zweck
In praktisch allen Anwendungsfällen bewegen sich Roboter. Manchmal fahren und lenken sie, manchmal bewegen sich bestimmte Bauteile, zum Beispiel um etwas zu greifen. Dafür sind Motoren notwendig. Bevor wir also größere Projekte realisieren können, testen wir kurz die Motoren unseres Roboters und lernen gleichzeitig dabei, wie wir diese Motoren in c4ev3 ansteuern können.
Vorbereitung
Die Vorbereitungen für diese Aufgabe halten sich in Grenzen. Erstelle zunächst ein neues c4ev3-Projekt wie in der ersten Praktikumsaufgabe beschrieben. Wir starten wieder mit einem Hello World-Projekt, da uns Eclipse dadurch sehr viele Einstellungen abnimmt. Die C-Datei im Verzeichnis src, in der wir unseren Programmcode schreiben, können wir beliebig anpassen, um die gewünschte Aufgabe zu erfüllen. Wenn du die Programmierung direkt ausprobieren möchtest, brauchst du einen Roboter, der fahren kann. Wie er das macht ist praktisch egal. Der Roboter sollte aber zwei Motoren nutzen, einen für jede Seite.
Aufgabe
Programmiere den Roboter so, dass er 10 cm nach vorne fährt und dann für eine Sekunde stehen bleibt. Anschließend soll der Roboter dieselben 10 cm rückwärts fahren, um wieder zur Ausgangsstelle zurückzukehren. Die Befehle, die für dieses Praktikum notwendig sind, kannst du aus der EV3-API von c4ev3 heraussuchen, falls du sie nicht auswendig weißt. Wenn du gar nicht weiter kommst oder nicht weißt, wie du anfangen kannst, helfen dir folgende Tipps vielleicht weiter. Aber versuche es erst ohne Hilfe.
Brauchst du einen Tipp?
Die folgenden Tipps helfen dir, falls du nicht weißt, wie du anfangen sollst oder wenn du nicht weiter kommst.
- Zerlege die Aufgabe in kleine Teile. Zuerst fahren und wenn das klappt warten. Anschließend noch mal fahren, nur in die entgegengesetzte Richtung.
- Achte immer darauf, dass du das aktuelle Projekt im Projekt-Explorer von Eclipse ausgewält hast.
- Speichere dein Programm oft (Strg + S). So gehen Änderungen nicht verloren und beim Übertragen auf den EV3 wird die aktuelle Version übermittelt.
- Denke daran, dein Programm zu kompilieren (Strg + B), bevor du den Code auf den EV3 überträgst.
API-Befehle für diese Aufgabe
Befehl | Erklärung |
#inlcude <ev3.h> | Implementiert den EV3-Header. |
InitEV3() | Initialisiert alle EV3-Funktionen. |
FreeEV3() | Gibt alle EV3-Funktionen wieder frei. |
Befehl | Erklärung |
OnFwdReg(<Output>, <Speed>) | Motor vorwärts drehen. |
OnRevReg(<Output>, <Speed>) | Motor rückwärts drehen. |
Off(<Output>) | Motor stoppen. |
Befehl | Erklärung |
Wait(<Zeit_ms>) | Warten die angegebene Zeitspanne (in Millisekunden). |
Lösung
Das nachfolgende Listing zeigt das komplette Programm und damit auch eine mögliche vollständige Lösung. Wenn du gar nicht weißt, wie du die Aufgabe angehen sollst, kannst du dir hier die Lösung anschauen.
[/et_pb_dmb_code_snippet]
Guten Abend,
ich probiere eifrig mit C4EV3 zu programmieren. Ich habe noch Anfangsschwierigkeiten, da ich nicht weiß wie man schreibt, wenn der Drucksensor = 1 ist, dann fahre nach vorne.
Selbst wenn ihr mir nur Lösungsansätze schreiben könntet, wäre mir sehr geholfen.
Danke im Voraus.
Mit freundlichen Grüßen
Deniz
Hallo Deniz,
wir freuen uns sehr über dein Interesse an den c4ev3 Praktika. Für dein Vorhaben werden zwei weitere Elemente benötigt, die noch nicht behandelt wurden. Diese haben wir in weiteren Praktika schon Aufbereitet. In Kürze veröffentlichen wir die weiteren Aufgaben und nach dem Praktikum vier ist alles dabei, was du für dein Vorhaben benötigst.
Viele Grüße
Felix