This is an old revision of the document!
Prügeli-Challenge
Der Roboter soll einen kleinen Parcours absolvieren, ein Prügeli aufladen und dieses dann an einem bestimmte Ort abladen.
Neue Elemente
Es gibt noch zwei neue Elemente: Der Ultraschall-Distanzsensor und der dritte Motor, um den Heber zu bewegen.
Ultraschall-Distanzsensor
Der Ultraschallsensor wird wie folgt initialisiert:
# Ultraschall Distanzsensor hinzufuegen us = UltrasonicSensor(SensorPort.S4) robot.addPart(us)
Die Distanz kann dann wie folgt gemessen werden:
dist = us.getDistance() # Aktuelle Distanz
Kann keine Distanz ermittelt werden, wird 0 (Null) als Wert geliefert. D.h. die Werte sind nur dann sinnvoll wenn dist>0
.
Heber-Motor
Initialisierung:
# Hebearm hinzufuegen heber = Motor(MotorPort.C) robot.addPart(heber) heber.setSpeed(10)
Stellen Sie sicher, dass der Heber ganz oben ist, bevor Sie das Programm starten.
Verwendung:
# Heber runter def runter(): heber.continueTo(-140) # Diesen Wert eventuell anpassen Tools.delay(500) # Heber wieder hoch def rauf(): heber.continueTo(0) Tools.delay(500) # Funktionen aufrufen: runter() rauf()
Aufgaben
Hier programmieren und testen wir Bausteine, um damit am Schluss die Prügeli-Challenge zu lösen.
Bis auf eine Distanz geradeaus fahren
def fahrenBisWand(): gear.setSpeed(20) # Geeignete Geschwindigkeit setzen gear.forward() # Fahren while True: dist = us.getDistance() if dist>0 and dist<50: #Sinnvoller Wert kleiner als 5 cm ? break gear.stop()