Deutsch English |
DU LERNST HIER... |
wie du mit einen Ultraschallsensor Distanzen messen und auswerten kannst. |
WIE FUNKTIONIERT EIN ULTRASCHALLSENSOR? |
Der Callibot-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 callibot import * forward() setSpeed(30) repeat: d = getDistance() if d < 20: backward() else: forward() delay(100)
Programm: from callibot import * def searchTarget(): repeat: right() delay(50) dist = getDistance() if dist != 255: right() delay(500) break setSpeed(20) searchTarget() setSpeed(50) 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. Du kannst das Programm noch optimieren, indem du den Roboter stopst, sobald er näher als 5 cm beim Gegenstand ist.
Beim Einparkieren werden Distanzsensoren verwendet, die ähnlich funktionieren, wie diejenigen unseres kleinen Callibots.
|
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 |
|