Die beiden Servo-Motoren sind an die Servo-Ports des Mainboards angeschlossen. Mit der Funktion WRITE_MOTOR() werden die Drehgeschwindigkeit und Drehrichtung festgelegt der Motoren festgelegt.
Einstellen des Null-Punkts
Damit sich Continuous Servos bei der Pulsweite für die Geschwindigkeit null nicht drehen, muss deren Nullpunkt eingestellt werden. Dazu wird ein Servo mit der Geschwindigkeit 0 angesteuert und mit dem Potentiometer am Servo die Einstellung ermittelt, bei der sich der Servo nicht dreht.
Programmbeispiel - Unterschiedliche Geschwindigkeiten und Drehrichtung
In diesem Beispiel sind die beiden Servo-Motoren an den Motor-Ports ML und MR angeschlossen und werden für unterschiedliche Zeitspannen in beiden Drehrichtungen ein- und ausgeschaltet.
#include "KeplerOpenBOT.h"
void setup()
{
KeplerOpenBOT_INIT();
}
void loop()
{
WRITE_MOTOR(ML,100);
SLEEP(2000);
WRITE_MOTOR(MR,0);
SLEEP(1000);
WRITE_MOTOR(ML,-50);
SLEEP(2000);
WRITE_MOTOR(MR,0);
SLEEP(1000);
}
Erklärungen zu diesem Programmbeispiel
Zeile 10: WRITE_MOTOR(ML,100);
Mit der Funktion WRITE_MOTOR(port,value) werden die Motorzustände gesetzt.
Mit dem Parameter port wird der gewünschte Motorausgang gewählt: ML oder MR für Motor links und Motor rechts.
Mit dem Parameter value können die Drehrichtung und auch die Drehgeschwindigkeit festgelegt werden. Die Werte können zwischen -100 und 100 liegen.
Die Größe dieser Zahl gibt die Geschwindigkeit und das Vorzeichen die Drehrichtung an. Mit dem Wert 0 wird ein Motor zum Stillstand gebracht.