Calliope mini - Spaß durch Programmieren

Linientreu

Ziel: Der Calli:bot soll selbständig einer schwarzen Linie in einer weißen Umgebung folgen. Gleichzeitig achtet er darauf, dass sein Abstand zu einem vor imh fahrenden Fahrzeug nicht zu klein wird (Sicherheitsabstand)

Der Calli:bot hat an der Unterseite zwei Reflexionslichtschranken. Jeder der beiden Lichtschranken hat eine Sender-LED und eine Lichtempfänger. Die Sender-LED sendet ein für uns unsichtbares Licht aus (Infrarotlicht). Trifft das Licht auf einen hellen Untergrund, wirft dieser das Licht zurück und der Lichtempfänger merkt das. Auf einem dunklen Untergrund wird nichts zurückgeworfen.

Calliope mini Calli:bot

50 cm geradeaus, mehr nicht!

Ziel: Der Calli:bot fährt 50 cm geradeaus. Dann bleibt er stehen.

Geradeaus fahren ist nicht schwer. Es wird eine Variable geschwindigkeit festgelegt und die beiden Motoren mit dieser Geschwindigkeit angetrieben. Passt man aber nicht auf, ist der Calli:bot weg oder fällt vom Tisch.

Calliope mini Calli:bot

Deshalb muss das kleine Programm die Motoren nach 4 Sekunden stoppen. Dazu verwendet man wieder den Zeitgeber.

Calliope mini Calli:bot

Obwohl für beide Motoren die gleiche Geschwindigkeit eingestellt wurde, ist das alles andere als eine Fahrt geradeaus. Die Motoren fahren mit geringen unterschiedlichen Geschwindigkeiten. Deshalb müssen die Geschwindigkeiten so geregelt werden, dass der Calli:bot immer schön auf der Linie bleibt.

Auf der Linie lang

Ob die unten angebrachten Lichtschranken über einen hellen oder dunklen Untergrund sind, sieht man an den beiden blauen LED auf der Oberseite. Bei einem hellen Untergrund leuchten sie auf, ansonsten sind sie aus.

Je nachdem, in welcher Richtung der Calli:bot die schwarze Linie verlassen will, müssen die Motoren mit verschiedenen Geschwindigkeiten gesteuert werden, damit er wieder zurückfindet. Es lassen sich drei Fälle unterscheiden:

  1. Er ist auf Linie, beiden Motoren bewegen sich mit der gleichen Geschwindigkeit
  2. Er bricht nach rechts aus: der rechte Motor muss schneller sein als der linke Motor
  3. Er bricht nach links aus: der linke Motor muss jetzt schneller als der rechte Motor sein.
Gaaaanz wichtig: ist dann, wenn die linke Lichtschranke über der dunklen Linie ist und die blaue LED auf der Oberseite NICHT leuchtet. Es hat einige Zeit gedauert, bis ich das gemerkt habe 🤪.

Calliope mini Calli:bot

Der Programmablaufplan zeigt, dass im Ja:mache-Teil des Programmes die Entscheidungen für die unterschiedlichen Geschwindigkeiten der Motoren eingetragen sind. Dazu werden zwei Variablen verwendet, die die langsame und die schnelle Geschwindigkeit enthalten.

Die wenn-mache-sonst-Entscheidung kann durch Klick auf das Plus entsprechend erweitert werden:

Calliope mini Calli:bot

Calliope mini Calli:bot

Wenn alles richtig läuft, fährt der Calli:bot artig die Linie lang und kann sogar eine Kurve fahren.

Und nun im Kreis

Ziel: Der Calli:bot soll auf einer geschlossenen Kurve ununterbrochen seine Runden ziehen.

Dazu sind im Programm zwei Veränderungen vorzunehmen:

  1. Der Teil mit dem Zeitgeber fliegt komplett raus. Das Programm beginnt mit der 2. Entscheidung.
  2. Da nicht ganz sicher ist, dass der Calli:bot immer schön auf der Linie bleibt, wird eine weitere Entscheidung eingebaut: Wenn der linke und der rechte Infrarotsender ein falsch liefern, bewegt sich der Calli:bot irgendwo neben der Spur. Er wird nicht wieder zurückfinden und muss sofort anhalten: alle Motoren stoppen!
Der Calli:bot zieht ruhig seine Kreise.
Am Ende kriegt er die Kurve nicht und bleibt sofort stehen.

Zufällige Geschwindigkeiten

Fährt ein Auto auf der Straße, ändert sich seine Geschwindigkeit sehr oft. Beim Calli:bot realisiert man das durch eine zufällige Geschwindigkeit zwischen 30 und 100, die sich alle 5 s ändert. Für die langsame Geschwindigkeit wird einfach die schnelle Geschwindigkeit durch 10 geteilt.

Calliope mini Calli:bot

zurück