Hi.
Kann mir jemand bei einer Programm-verkürzung helfen?
In meinem Programm fahren 2 Servos gleichzeitig eine Strecke ab. die sieht so aus:
einmal hin:
und wieder zurück:Code:If Pind.6 = 1 And Pind.7 = 0 And Pind.4 = 1 Then 'Monitor ist in Mitte & Relais1 eingeschalten Enable Timer0 'Servos anschalten Servo(1) = 48 'Servos schrittweise bis zum Endpunkt fahren Servo(2) = 152 Waitms 20 Servo(1) = 49 Servo(2) = 151 Waitms 20 Servo(1) = 50 Servo(2) = 150 ... ... ... Servo(1) = 122 'erster Endpunkt (weiter geht nicht, wg Kante) Servo(2) = 78 Waitms 20 Disable Timer0 End If
Diese dämliche Ansteuerung habe ich deshalb so geschrieben, weil die Servos in einer bestimmten Geschwindigkeit fahren sollen. Und wenn ich die Sprünge zu groß wähle, dann läufts abgehakt.Code:If Pind.6 = 1 And Pind.7 = 1 And Pind.3 = 1 Then 'Monitor zurück nach Mitte gefahren und noch unten Enable Timer0 'Servos anschalten Servo(1) = 122 Servo(2) = 78 Waitms 20 Servo(1) = 121 Servo(2) = 79 Waitms 20 Servo(1) = 120 Servo(2) = 80 Waitms 20 ... ... ... ... Servo(1) = 49 Servo(2) = 151 Waitms 20 Servo(1) = 48 Servo(2) = 152 Waitms 20 Disable Timer0 End If
Einziger Nachteil: Dieses Programm kommt locker auf 560 Zeilen und damit über das Ende der Demo.
Hab mir schon die möglichen Servoansteuerungen angeschaut in der Hilfe.
Der Befehl hier würde mir gefallen und wäre evtl. genau richtig für mich:
Do
For I = 0 To 100
Servo(1) = I
Waitms 1000
Next
Allerdings, wo pack ich da meinen 2ten Servo hin? Der müßte dann ja von 100 to 0 fahren!
Geht das und wie?







Zitieren

Lesezeichen