Hauptmenü TMS Robotik AG

f1 Solarfinder mBot 2 Extension ★ ★ ☆

Dein Roboter befindet sich auf der Oberfläche des Planeten Mars. Der Akku hat nur noch 19% Restkapazität. Es ist Zeit, an einen möglichst hellen Ort zu fahren und die Solarzellen auszuklappen.

Schreibe ein Programm, um den optimalen Ladeplatz zu finden. Nutze dafür den Helligkeitssensor des CyberPi-Prozessors.

Vom Startpunkt soll der Roboter jeweils 20 cm in drei verschiedene Richtungen fahren: L (60° nach vorne links), R (60° nach vorne rechts) und H (nach hinten).

Positionen L, R und H
An diesen Punkten soll die Helligkeit gemessen werden. Dann soll der Roboter zum hellsten der drei Punkte fahren. Von dort beginnt die Suche von neuem. So nähert sich der Roboter in jedem Schritt einem besseren Ladeplatz.

Das Bild unten zeigt ein Beispiel, bei dem der Roboter im ersten Schritt an Position R fährt, im zweiten Schritt an L und im dritten Schritt wieder an R.

Schritt 1 Schritt 2 Schritt 3

Die Programmstruktur besteht aus einer Schleife, die erst die Helligkeit an den drei Punkten misst und dann an den hellsten Punkt fährt. Anschließend wird die Helligkeit als Liniendiagramm auf dem Display angezeigt.
Programmstruktur Code

Fahre Helligkeit messen

Dieser Block fährt alle drei Punkte an, erst L, dann R , dann H und kehrt am Ende an den Ausgangspunkt zurück. Es werden drei Variablen benötigt, die die Helligkeit an den Punkten speichern.
Fahre Helligkeit messen Code Fahrt zu Positionen L, R und H

Fahre an hellsten Ort

Dieser Block soll prüfen, welcher Punkt die größte Helligkeit hat. Größte Helligkeit bedeutet, dass die Helligkeit dort größer als in beiden anderen Punkten ist. Im Beispiel unten wird geprüft, ob der Punkt R die größte Helligkeit hat.
Fahre an hellsten Ort Code
Im Beispiel unten wird geprüft, ob der Punkt R die größte Helligkeit hat.
Vergleich Code
Ergänze die Programmstruktur oben mit passenden Befehlen.

Python API

In Python kann der Umgebungslichtsensor mit dem Befehl
light = cyberpi.get_brightness()
abgefragt werden. Der Rückgabewert liegt zwischen 0 (sehr dunkel) und 100 (sehr hell).