Hello,
i have a friend and he ask me to make a programm for 6 servos controlled by serial monitor. i don´t have the parts for a test here. and my friend lifes many km away.
Can someone tell my if my code function?
/*Geben Sie über den "Serial Monitor" neue Werte für die Servomotoren ein.
Beispiel: für Servo1 "a90" für 90°
für Servo2 "b130" für 130°
*/
#include <Servo.h> //Lad Servo-Bibliothek
Servo myservo1; //erzeugt das erste Servo-Objekt, muss für jeden angeschlossenen Servomotor erstellt werden
Servo myservo2; //erzeugt das zweite Servo-Objekt
Servo myservo3; //usw.
Servo myservo4;
Servo myservo5;
Servo myservo6;
int pos1 = 0; //Variable für die Position von Servo1, Startposition 0
int pos2 = 0;
int pos3 = 0;
int pos4 = 0;
int pos5 = 0;
int pos6 = 0;
void setup() {
myservo1.attach(5); //Anschluss des Servomotors 1 an Pin 5
myservo2.attach(6);
myservo3.attach(7);
myservo4.attach(8);
myservo5.attach(9);
myservo6.attach(10);
Serial.begin(9600); //Serielle Komunikation starten
}
void loop() {
if (Serial.read() == 'a') //Abfrage ob neuer Wert folgt für Servo 1
{
pos1 = Serial.parseInt(); //Einlesen des neuen Wertes und
myservo1.write(pos1); //Übergabe an den Servomotor 1
}
if (Serial.read() == 'b')
{
pos2 = Serial.parseInt();
myservo2.write(pos2);
}
if (Serial.read() == 'c')
{
pos3 = Serial.parseInt();
myservo3.write(pos3);
}
if (Serial.read() == 'd')
{
pos4 = Serial.parseInt();
myservo4.write(pos4);
}
if (Serial.read() == 'e')
{
pos5 = Serial.parseInt();
myservo5.write(pos5);
}
if (Serial.read() == 'f')
{
pos6 = Serial.parseInt();
myservo6.write(pos6);
}
}
6 posts - 2 participants