lehrkraefte:blc:informatik:glf20:robotik:pruegeli-challenge

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.

Es gibt noch zwei neue Elemente: Der Ultraschall-Distanzsensor und der dritte Motor, um den Heber zu bewegen.

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.

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()

Hier programmieren und testen wir Bausteine, um damit am Schluss die Prügeli-Challenge zu lösen.

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()
 
  • lehrkraefte/blc/informatik/glf20/robotik/pruegeli-challenge.1621964225.txt.gz
  • Last modified: 2021/05/25 19:37
  • by Ivo Blöchliger