meine Servo-ansteuerung ist zu groß für die Demo. mist!
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:
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
und wieder zurück:
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
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.
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?
Re: meine Servo-ansteuerung ist zu groß für die Demo. mist!
Zitat:
Zitat von >toxic<
Code:
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
...
Hallo toxic!
Du könntest die FOR-Schleife verwenden um wiederkehrende Aktionen durchzuführen:
ungetestet:
Code:
dim schritt as byte
dim startwert(2) as byte
dim tmp as byte
startwert(1) = 48
startwert(2) = 152
for schritt = 0 to 10
tmp = startwert(1) + schritt
servo(1) = tmp
tmp = startwert(2) - schritt
servo(2) = tmp
next schritt
mfg
Gerold
:-)
PS:
Was ist los?
Sind wir alle gleichzeitig beim Antworten? :-)
.
Re: meine Servo-ansteuerung ist zu groß für die Demo. mist!
Zitat:
Zitat von python_rocks
PS:
Was ist los?
Sind wir alle gleichzeitig beim Antworten? :-)
.
Ha [-o<
danke euch, ich werde die genannten Beispiele alle durchtesten. Super, die Hilfestellungen hier :-)