Der Calli:bot bewegt sich in einem beliebigen Raum, ohne irgendwo anzustoßen. Erkennt er ein Hindernis, läuft die folgende Programmfolge ab:
Bevor mit dem Calli:bot gearbeitet werden kann, muss er in der Roboterkonfiguration eingebunden werden. Wird der Block aus Aktion herausgezogen, ist er automatisch mit dem Anschluss A0 verbunden.
Die Bezeichnungen wie C, M, M3 ... können geändert werden. Im Folgenden werden aber die Voreinstellungen benutzt.

Der Calli:bot fährt, solange der Ultraschallsensor eine Entfernung meldet, die größer als 10 cm ist.
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.

Der Calli:bot muss nach dem Bremsen eine sehr kurze Zeit warten, ansonsten geht das Programm nicht richtig weiter. Das ist so! 30 ms sind ausreichend. Wenn es nicht funktioniert, kann die Zeit etwas größer gemacht werden.
Nach dem Stoppen fährt der Calli:bot ein Stück rückwärts. Dazu wird die Geschwindigkeit als negativer Wert eingegeben. Die eigentliche Fahrzeit wird über den Wartebefehl realisiert.
Aufgabe:Ändere das Programm so, dass der Calli:bot bis auf 5 cm an das Hindernis heranfährt, dann stoppt und nur noch halb so weit wie bisher zurückfährt.

Damit beim Stoppbefehl die notwendige Wartezeit nicht vergessen wird, schreibt man dafür eine Funktion. Die enthält das Bremsen und das Warten.

Nach dem Rückwärtsfahren dreht sich der Calli:bot nach rechts. Dazu fährt das linke Rad vorwärts und das rechte Rad rückwärts. Insgesamt wird as eine Drehung nach rechts.
Die Wartezeit von 500 ms bis zum Stoppen des Motors legt fest, wie weit sich der Calli:bot dreht.
Aufgabe: Verdopple die Zeit auf 1000 ms und beobachte, was passiert.
Aufgabe: Lass den Calli:bot in die andere Richtung drehen.
Aufgabe: Damit sich der Calli:bot 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.

Wenn alles gut programmiert wurde, erkennt der Calli:bot Hindernisse und stößt nicht dagegen. Perfekt funktioniert das aber nicht. Dazu müssten vorn weitere Sensoren angebracht werden.
Bevor mit dem Calli:bot gearbeitet werden kann, muss er in der Roboterkonfiguration eingebunden werden. Das geht über Fortgeschritten, Erweiterungen...
Dann muss in der Suchzeile callibot eingetragen werden und die Erweiterung erscheint. Sie ist leider nicht in den voreingestellten Erweiterungen vorhanden. 😟
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.
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 soweit rückwärts, bis die Entfernung zum Hindernis größer als 15 cm ist.
Hinweis: Die Pause von 30 ms vor dem Rückwärtsfahren ist nicht unbedingt notwendig. Es hat sich aber gezeigt, dass einige Calli:bot ohne diese kurze Pause nicht rückwärts fahren. Sie müssen sich kurz ausruhen.
Aufgabe: Ändere das Programm so, dass der Calli:bot bis auf 5 cm an das Hindernis heranfährt, dann stoppt und nur noch halb so weit wie bisher zurückfährt.

Nach dem Rückwärtsfahren dreht sich der Calli:bot 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 300 ms bis zum Stoppen des Motors legt fest, wie weit sich der Calli:bot dreht.
Aufgabe: Verdopple die Zeit auf 600 ms und beobachte, was passiert.
Aufgabe: Lass den Calli:bot in die andere Richtung drehen.
Aufgabe: Damit sich der Calli:bot 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 Calli:bot 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.

Wenn alles gut programmiert wurde, erkennt der Calli:bot Hindernisse und stößt nicht dagegen. Perfekt funktioniert das aber nicht. Dazu müssten vorn weitere Sensoren angebracht werden.
Die Anleitungen in Python funktionieren nur mit dem Calli:bot2 und dem Calliope mini Version 3!
Bevor mit dem Calli:bot gearbeitet werden kann, muss das Modul mit den Befehlen für den Calli:bot2 hinzugefügt werden. Zur Zeit (Dezember 2025) gibt es in Python nur das Modul für MotionKitV2. Joris Bakker aus Leipzig hat dieses Modul für den Calli:bot2 umgeschrieben. Vielen Dank.
Die Datei callibot2.txt muss auf dem Rechner gespeichert und dann in callibot2.py umbenannt werden. (.py-Dateien werden von einigen Browsern als Programme interpretiert, die ausgeführt werden sollen). Danach wird in Datei in ein neues Python-Projekt eingebunden. Dazu geht man im Python-Editor auf Projekt, Datei öffnen...
Hat man die callibot2.py gefunden, darf man den nächsten Dialog nicht einfach durchwinken, sondern muss auf das unscheinbare Icon am rechten Rand klicken. Dort wählt man Datei hinzufügen callibot2.py. Damit besteht das Prjekt dann aus zwei Dateien, der main.py und der callibot2.py.

Im Hauptprogramm main.py wird das neue Modul importiert. Nun kann der Calli:bot2 angesteuert werden.

Wie man in der Dokumentation 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 den Calli:bot2 eine Sekunde lang nach rechts drehen.

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