Thymio Tutorial: Handdreher
Inhalt
Einleitung
In diesem Tutorial wird dir erklärt, wie man den Thymio II in Aseba programmiert. Aseba ist eine eventgesteuerte Programmiersprache, die speziell für den Thymio entwickelt wurde. Wie man den Thymio programmiert wird dir anhand von dem Beispielprogramm “Handdreher” erklärt. Du brauchst hierfür nur wenig bis keine Programmiererfahrung – alles, was du über den Thymio wissen musst, steht in unseren Beispielcodes.
Der Handdreher
Ziel ist es, den Thymio so zu programmieren, damit er mit den vorderen Abstandssensoren eine Handbewegung misst und sich danach im Kreis dreht. Die Geschwindigkeit der Kreisbewegung soll dabei abhängig von der Geschwindigkeit der Handbewegung sein.
Was du brauchst
- Einen Thymio. Es ist zwar möglich den Thymio in einer virtuellen Welt zu simulieren, aber für das Handdreher-Programm solltest du einen echten Thymio benutzen.
- Ein PC mit Aseba Studio. Wie du Aseba installierst erfährst du hier.
Der Code
Es gibt vier verschiedene Versionen des Handdreher-Programms. Diese drei Versionen bauen alle aufeinander auf und jede höhere Version wird neue Konzepte von Aseba einführen. Ziel ist es, dass du dir nacheinander alle Versionen anschaust und versuchst zu verstehen. Gerne kannst du deine eigenen Änderungen am Code selbst ausprobieren.
Lade dir einfach die Codebeispiele runter, öffne sie mit Aseba Studio, beobachte wie Thymio auf deine Handbewegungen reagiert und schaue dir den Code an.
Handdreher Version 1
Dies ist die einfachste Version des Handdrehers. Thymio wartet bis der linke Sensor etwas in Reichweite erkannt hat und dreht sich dann mit maximaler Geschwindigkeit rechts herum im Kreis. Sobald nichts mehr in seiner Sensorreichweite ist, bleibt er stehen.
Folgende Konzepte werden gezeigt:
- Events (Ereignisse)
- Bedingungen (if, else)
- Abstandssensoren auslesen
- Ansteuerung von Motoren
Handdreher Version 2
Thymio wartet nun bis der linke und rechte Sensor nacheinander eine Handbewegung erkannt haben. Danach dreht sich dann mit einer festen Geschwindigkeit im Kreis.
Folgende Konzepte werden gezeigt:
- Variablen (Skalare)
- Zustände
- LEDs
- Buttons
Handdreher Version 3
Thymio dreht sich erst, wenn alle fünf vorderen Abstandssensoren nacheinander die Handbewegung erkannt haben und passt dann seine Drehgeschwindigkeit an die Geschwindigkeit der Handbewegung an.
Folgende Konzepte werden gezeigt:
- Konstanten
Handdreher Version 4
Diese Version funktioniert wie Version 3, aber zusätzlich leuchten noch die vorderen LEDs der Abstandssensoren, wenn Thymio auf eine Handbewegung wartet. In dieser Version geht es vor allem darum, dass neue Konzepte der Sprache Aseba gezeigt werden.
Folgende Konzepte werden gezeigt:
- Arrays (Vektoren)
- Schleifen
- Unterprogramme (Subroutine)
Download
Die vier Versionen des Handdrehers findest du als Download hier.
In der .zip Datei befinden sich alle Dateien die du benötigst. Öffne einfach die Dateien mit Aseba Studio. Der Rest wird darin mit Kommentaren erklärt. Jede Version des Handdrehers hat jeweils eine Datei mit Kommentaren und eine Datei ohne Kommentare. Die Datei ohne Kommentare ist besser, wenn man nur den Code lesen will oder selbst Änderungen am Code vornehmen will.
Weitere Ideen
hier sind noch ein paar Erweiterungen, die du selbst noch umsetzen kannst!
- Der Thymio wird langsamer, wenn er während des Drehens eine Hand erkennt. Dadurch könnte er auch zum Stehen kommen.
- Je nachdem in welche Richtung die Hand sich am Anfang bewegt wird, dreht sich der Thymio in die jeweilige Richtung
- Verwende bei v4 eine for-Schleife, anstatt der while-Schleife
Nützliche Links
- Das Thymio Cheat Sheet. Hier findest du eine Übersicht wie du alle Teile des Thymios (z.B. Sensoren, Motoren) mit Aseba Code ansprichst.
- Die Aseba Dokumentation. Die offizielle Dokumentation der Thymio-Hersteller.
- Webseite des Arbeitskreises zum Thymio