Der Roboter bewegt sich in einem beliebigen Raum, ohne irgendwo anzustoßen. Erkennt er ein Hindernis, läuft die folgende Programmfolge ab:
Bevor mit dem Motion Kit gearbeitet werden kann, muss er in der Roboterkonfiguration eingebunden werden. Das geht über Fortgeschritten, Erweiterungen...
Die Anzahl der Befehle ist nicht groß, reicht aber aus.

Der Calli:bot fährt, solange der Ultraschallsensor eine Entfernung meldet, die größer als 10 cm ist.
Hinweis: Die Geschwindigkeit lässt sich bis 255 einstellen. Das ist aber zum Anfahren zu schnell, das Auto geht vorn hoch.
Aufgabe: An der Unterseite des Calli:bot befinden sich 4 RGB-LEDs. Wenn der Calli:bot fährt, sollen sie in Grün leuchten. Hält er an, leuchten sie in Rot.
Nach dem Stoppen fährt der Calli:bot langsam rückwärts, bis die Entfernung zum Hindernis gleich oder größer als 20 cm ist.
Nach dem Rückwärtsfahren dreht sich der Roboter nach rechts. Dazu fährt das linke Rad vorwärts und das rechte Rad rückwärts. Insgesamt wird das eine Drehung nach rechts.
Die Wartezeit von 400 ms bis zum Stoppen des Motors legt fest, wie weit sich das Fahrzeug dreht.
Aufgabe: Verdopple die Zeit auf 800 ms und beobachte, was passiert.
Aufgabe: Lass das Auto in die andere Richtung drehen.
Aufgabe: Damit sich das Auto nicht immer um den gleichen Winkel dreht, wird die Wartezeit bis zum Stoppen des Motor durch eine Zufallszahl bestimmt. Probiere aus, zwischen welchen zufälligen Wartezeiten ein sinnvolles Drehen zu Stande kommt.
Damit der Roboter nicht nur in eine Richtung dreht, überlassen wir die Drehrichtung dem Zufall. In einer Entscheidung wird gewürfelt, ob er nach rechts oder links dreht. Nebenbei kann man auch noch etwas mit den Farben der LED an der Unterseite spielen.
Bevor mit dem MotionKitV2 gearbeitet werden kann, muss das Modul mit den Befehlen dem Projekt hinzugefügt werden. Dazu geht man im Python-Editor auf Projekt, Module hinzufügen..., und wählt das entsprechende Modul aus. Falls man sehen möchte, welche Programmzeilen im Modul stecken, muss man nach dem Klick auf den Modulnahmen die Bearbeitung von Modulen von Drittanbietern erlauben.

Im Hauptprogramm main.py wird das neue Modul importiert. Nun kann das MotionKitV2 angesteuert werden.

Wie man im Modul sieht, werden die beiden Motoren einzeln angesteuert. Wenn man einfach nur geradeaus fahren möchte, muss man immer beide Motoren bedienen. Um das zu vereinfachen, werden zwei Funktionen für Geradeausfahren und Stoppen zu Beginn in das Programm eingefügt.
Der Funktion gerade(r,v) werden zwei Parameter übergeben: r ist die Richtung (0 vorwärts, 1 rückwärts) und v ist die Geschwindigkeit (0...255).

Das Programm in der unendlichen Schleife macht folgendes:

Zum Drehen müssen sich die beiden Motoren in verschieden Richtungen drehen. Zur Vereinfachung
wird wieder eine Funktion geschrieben, die sich um die Drehung kümmert.
Der Funktion übergibt man die Richtung r, die Geschwindigkeit v und die Drehzeit t.
Da die Motoren zur Zeit (Dezember 2025) noch keine Rückmeldung über die gedrehten Winkel liefern, muss der Drehwinkel über die Drehzeit gesteuert werden.
Ein einfacher Drehbefehl nach dem Stoppen lässt das Fahrzeug eine Sekunde lang nach rechts drehen.

Mit dem Modul random für die Zufallszahlen lässt sich das MotionKit nach der Hinderniserkennung nach rechts oder nach links drehen. Der Drehwinkel wird über die Drehzeit auch zufällig bestimmt.