..sehr langen Case-If Anwendung realisieren. Eine Variable wird hochgezählt und für jeden Wert der Variable wird dem Servo ein Wert zu gewiesen
geht einfacher , Beispiel
Code:
dim variable as byte
FOR variable = 1 TO max
servo[1] = LOOKUP(variable, SERVO1_TAB)
servo[2] = LOOKUP(variable, SERVO2_TAB)
servo[3] = LOOKUP(variable, SERVO3_TAB)
servo[4] = LOOKUP(variable, SERVO4_TAB)
NEXT
SERVO1_TAB:
DATA 100, 110, .........
SERVO2_TAB:
DATA 100, 110, .........
SERVO3_TAB:
DATA 100, 110, .........
SERVO4_TAB:
DATA 100, 110, .........
Da die Servobefehle von Bascom in Interrupts passieren und das Wertesetzen in der Hauptschleife , sollte keine Beeinflussung erfolgen.
Also eigentlich auch nicht, wenn du komplizierte Berechnungen machst.
Details hier:
https://www.roboternetz.de/wissen/in...ide-Code#SERVO
Bedenke, dass ein Servo nur alle ~20mS einen neuen Wert übernehmen kann, das ist also bei langsamen Bewegungen schon ruckelig.
Lesezeichen