Hab die Daten z.B so versendet:
Serial.print("B"); //Initiator senden
Serial.print(val_x); // Daten der X-Achse
Serial.print(",");
Serial.println(val_z); //Daten der Y-Achse
Serial.print(",");
Sieht dann ja z.B so aus: B123,234,
Und das ganze alle 50mS.
Der Empfänger hatte folgenden Code:
void loop()
{
if( Serial.available()) {
char ch = Serial.read ();
if (ch == 'B'){
for(fieldIndex = 0; fieldIndex < 2; fieldIndex ++)
{
values[fieldIndex] = Serial.parseInt(); // Numerischen Wert einlesen
}
Serial.print( fieldIndex);
Serial.println(" Felder empfangen:");
//for(int i=0; i < fieldIndex; i++)
//{
angle_x = values [0] ; //WErte von 0 - 360
angle_z = values [1] ; //WErte von 0 - 360
fieldIndex = 0; // und von vorn anfangen
}
}
Serial.print("angle_x");
Serial.print(angle_x);
Serial.print(" angle_z");
Serial.println(angle_z);
xservo.write(angle_x / 2); // Servo X
zservo.write(angle_z / 2); // Servo Z
delay(50);
}
Das ganze funkioniert, wenn ich Den Z servo auskommentiere.
Aber ist er mit drin gibt es nur noch ein hinundherrattern des Servos
Es werden dann teilweise viestellige Werte an die servos ausgegeben.
Hab auch noch andere Varianten versucht. Ergebnis immer gleich.