|
Beispiel 1: Loader mit Servomotor bewegen
Der Servomotor bewegt den Loader zuerst zur Ausgangslage (unten), dann wird die Schaufel nach oben bewegt und nach 2000 Millisekunden wieder nach unten in die Ausgangslage.
Der Servomotor wird mit dem Befehl setServer("S1", 160) bewegt. Führe das unten stehende Programm mit verschiedenen Winkeln aus um herauszufinden, für welchen Wert sich die Schaufel in der Ausgangslage (unten) befindet. Die Winkel sind von der Position, in der der Servomotor vor dem Anschrauben der Schaufel war, abhängig.
from callibot import *
setServo("S1", 160)
delay(2000)
setServo("S1", 100)
delay(2000)
setServo("S1", 160)
► In Zwischenablage kopieren
|
|
|
|
|
Beispiel 2: Mit Ultraschallsensor den Loader positionieren
Der Roboter soll einen Gegenstand, der sich bei einer senkrechten Wand befindet aufladen und wegtransportieren. Um den Abstand zur Wand zu messen, verwendet er den Ultraschallsensor.
|
from callibot import *
setServo("S1", 160)
setSpeed(20)
forward()
repeat:
d = getDistance()
print(d)
if d < 12:
stop()
delay(1000)
setServo("S1", 100)
setSpeed(20)
backward()
delay(4000)
stop()
setServo("S1", 160)
delay(100)
► In Zwischenablage kopieren
Beispiel 3: Mit Mechanic Beatle (Greifarm) Objekte fassen
Der Servomotor bewegt die beiden Arme des Greifarms gleichzeitig. Mit dem Befehl
setServo("S1", 120)
in die offene Stellung, mit
setServo("S1", 160)
kann der Roboter Gegenstände packen. Die Winkel muss du anpassen. Es kommt darauf an, in welcher Lage der Servomotor eingebaut ist.
Der Roboter bewegt sich zum Gegenstand, der sich in einem kurzen Abstand vor ihm befindet, packt ihn mit seinem Greifarm, fährt eine kurze Strecke zurück, dreht nach links und stellt den Gegenstand am neuen Ort ab (ähnlich wie im unten stehenden Video).
|
from callibot import *
setServo("S1", 170)
delay(1000)
setServo("S1", 120)
forward()
delay(1000)
stop()
setServo("S1", 160)
backward()
delay(500)
left()
delay(700)
stop()
setServo("S1", 120)
► In Zwischenablage kopieren
Beispiel 4: Mit Ultraschallsensor den Greifarm positionieren
Der Roboter soll einen Gegenstand, der sich bei einer senkrechten Wand befindet aufladen und wegtransportieren. Um den Abstand zur Wand zu messen, verwendet er den Ultraschallsensor.
|
from callibot import *
setServo("S1", 120)
forward()
repeat:
d = getDistance()
print(d)
if d < 20:
stop()
delay(500)
setServo("S1", 160)
delay(500)
backward()
delay(2500)
left()
delay(700)
stop()
setServo("S1", 120)
delay(100)
► In Zwischenablage kopieren
|