DU LERNST HIER... |
wie du mit einen Ultraschallsensor Distanzen messen und auswerten kannst. |
WIE FUNKTIONIERT EIN ULTRASCHALLSENSOR? |
Der Maqueen-Sensor kann die Distanzen im Bereich von ca. 5 bis 200 cm messen und liefert die Werte in cm zurück. Wenn kein Objekt im Messbereich ist, gibt er den Wert 255 zurück. |
MUSTERBEISPIELE |
Programm: from mbrobot import * #from mbrobot_plus import * setSpeed(30) forward() repeat: d = getDistance() if d < 20: backward() else: forward() delay(100)
Programm: from mbrobot import * #from mbrobot_plus import * def searchTarget(): repeat: right() delay(50) dist = getDistance() if dist != 255: right() delay(500) break setSpeed(20) searchTarget() forward() Den Suchvorgang definierst du in der Funktion searchTarget(). Der Roboter dreht jeweils um einen kleinen Winkel nach rechts und misst die Distanz. Falls er ein Objekt detektiert (der Sensor gibt nicht mehr den Wert 255 zurück), dreht er noch ein wenig weiter, damit er gegen Mitte des Objekts gerichtet ist. Mit break kannst du die repeat-Schleife abbrechen und damit den Suchvorgang beenden. Im Hauptprogramm wird die Funktion searchTarge() aufgerufen und der Roboter fährt nach dem erfolgreichen Suchvorgang zum Objekt. Löse die Aufgabe 3 und ergänze dass Programm so, dass der Roboter vor dem Objekt stopt.
Beim Einparkieren werden Distanzsensoren verwendet, die ähnlich funktionieren, wie diejenigen unseres kleinen mbRobots.
|
MERKE DIR... |
Die Anweisung getDistance() gibt den Wert des Ultraschalsensors zurück. Die Sensorwerte werden in einer repeat-Schleife periodisch gemessen, delay(100) bestimmt die Messperiode. Dieser Befehl ist wichtig, das sonst die Werte zu häufig abgefragt werden, was zur Überlastung des Mikroprozessors führen kann. |
ZUM SELBST LÖSEN |
|