|
Das Programm, das die Servomotoren („Finger“) bewegt, besteht aus einem kleineren und zwei größeren Teilen (Abb. 41b), die durch graue Kommentare getrennt sind:
-
Einstellen der Rotationsgeschwindigkeit (Variable rotationStep, rosa) – beim Übertragen des Programms auf ein echtes UNO kann diese Anweisung in die setup()-Prozedur verschoben werden.
-
Anweisungen für jeden Servomotor, sich in eine bestimmte Position zu drehen – 5 Ausgänge (blau), wobei darauf zu achten ist, den richtigen Ausgangspin (auf dem UNO-Board) und die Position (verschiedene Variablen, rosa) anzugeben. Da diese Variablen standardmäßig während der setup() auf 0 gesetzt werden, passiert nach dem Einschalten nichts, bis eine Taste gedrückt wird.
-
Überprüfen der Tastenpaare und Neuberechnung der Position der Servomotoren. Dieser Teil wird (in Abb. 41b nur einmal sichtbar) 5-mal für jedes Set aus 2 Tasten und einem Servomotor wiederholt.
-
Der Zustand (Spannung) der Taste „Up“ wird von einem analogen Eingang gelesen. Der mögliche Messbereich reicht von 0 bis 1023 Einheiten, entsprechend 0 bzw. 5 Volt. Es ist darauf zu achten, den richtigen Eingangspin auf dem UNO-Board anzugeben.
-
Wenn der gelesene Wert größer als 256 (1,25 V) ist, wird die Position eines bestimmten Servomotors neu berechnet, indem sie um den Wert von rotationStep erhöht wird;
-
Die berechnete Position darf 180° nicht überschreiten. Falls dies geschieht, wird sie auf diesen Grenzwert gesetzt.
-
Wurde die Taste „Up“ nicht gedrückt, wird der else-Zweig ausgeführt.
-
Der Zustand der Taste „Down“ wird von einem digitalen Eingang gelesen (0 = Nein, oder 1 = Ja). Es ist darauf zu achten, den richtigen Eingangspin auf dem UNO-Board anzugeben.
-
Wenn der gelesene Wert größer oder gleich 1 ist, wird die Position eines bestimmten Servomotors neu berechnet, indem sie um den Wert von rotationStep verringert wird. Eine zusätzliche arithmetische (Mathematik, grüne Kategorie) Operation war notwendig, um einen negativen Wert von rotationStep zu erhalten.
-
Die berechnete Position darf 0° nicht unterschreiten. Falls dies geschieht, wird sie auf diesen Grenzwert gesetzt.
|

Abbildung 41. Teil eines grafischen Programms zur Ansteuerung von Servomotoren
|