Ein Assistenzsystem

Wir schreiben jetzt ein Programm, das das Auto automatisch anhalten lässt, wenn es kurz davor ist, von der Straße abzukommen. Dazu werden wir die Sensoren des Autos verwenden, sowie Blöcke aus der Kategorie Logik, die es dem Algorithmus ermöglichen, selbstständig Entscheidungen zu treffen. Viele aktuelle Autos besitzen übrigens solche oder ähnliche Funktionen, man bezeichnet sie als Fahrerassistenzsysteme.

Aufgabe 3.Lösche alle Blöcke, um mit einer leeren Leinwand zu beginnen.

Die Grundidee ist sehr einfach: das rote Auto soll stoppen, falls es unmittelbar vor sich keine Straße mehr sieht. Das können wir fast genau so auch in Blockly ausdrücken.

Aufgabe 3.Öffne die Kategorie Logik und schaue dich darin um. Siehst du einen Block, der passen könnte?

Aufgabe 3.Ziehe einen falls ... mache-Block auf die Leinwand (solche Blöcke bezeichnet man auch als Fallunterscheidung).

Der mache-Teil ist einfach. Kannst du dir schon denken, was da hineingehört?

Aufgabe 3.Ziehe einen stop-Block aus der Kategorie Bloblocar in die Lücke.

Für den falls-Teil brauchen wir einen neuen Block aus der Bloblocar-Kategorie, den du vielleicht auch schon entdeckt hast. Wir müssen nämlich die Sensoren des Autos abfragen, um zu überprüfen, ob das Auto noch auf der Straße ist.

Aufgabe 3.Ziehe einen Block, der mit „da ist ein Auto ... vor mir” beschriftet ist, auf die Leinwand.

Mit diesem Block kannst du die Sensoren abfragen. Du kannst einstellen, wo und auf welche Gegenstände das Auto achten soll.

Aufgabe 3.Welche verschiedenen Hindernisse können vom Sensor-Block erkannt werden?

Das Auto soll stehen bleiben, wenn es direkt vor sich keine Straße mehr sieht.

Aufgabe 3.Welche Einstellungen müsste man dazu am Sensor-Block verändern?

Aufgabe 3.Verändere die Einstellungen so, dass auf dem Block steht:
„da ist etwas anderes 1m vor mir 0m links von mir”

Aufgabe 3.Verbinde den Sensor-Block mit der Fallunterscheidung.

Jetzt müssen wir nur noch eine Kleinigkeit hinzufügen. Wenn du nämlich das Programm startest, wirst du feststellen, dass es nur einmal kurz läuft und dann sofort zu Ende ist. Hmmm ... 🤔

Naja, eigentlich logisch: das Programm besteht halt nur aus dieser einen Fallunterscheidung. Die führt der Computer eben aus und ist dann fertig. 🙈 Wir müssen ihm mitteilen, dass er das ganze wiederholen soll. Dazu eignen sich Blöcke aus der Kategorie Schleifen (so nennen Programmierer das). In unserem Fall soll das Programm sozusagen in Dauerschleife laufen. Keine Sorge, du kannst es dann bei Bedarf mit dem ■-Knopf unterbrechen.

Aufgabe 3.Schau dich in der Kategorie Schleifen um. Siehst du vielleicht einen passenden Block?

Aufgabe 3.Ziehe einen wiederhole solange-Block auf die Leinwand.

Aufgabe 3.Ziehe die Fallunterscheidung mit ihren zwei verknüpften Blöcken in die Lücke rechts neben mache.

Aufgabe 3.Ziehe einen wahr-Block aus der Kategorie Logik in die Lücke rechts neben wiederhole solange. Dadurch läuft das Programm in Endlosschleife.

Lösung

Wenn du jetzt das Programm ausführst, kannst du das Auto mit den Pfeiltasten bewegen. Am Ende der Straße hält es automatisch an.

Mit den Blöcken, die wir gerade kennengelernt haben, lässt sich das Auto so programmieren, dass es völlig von selbst um den Kurs fährt. Das nehmen wir im nächsten Abschnitt in Angriff!