#include Servo myservo; Servo myservo2; Servo myservo3; Servo myservo4; Servo myservo5; int incomingByte; // variable stores serial data int startingState; int startingState2; int startingState3; int startingState4; int startingState5; void setup() { Serial.begin(9600); myservo.attach(26,700,2500); myservo2.attach(27,700,2500); myservo3.attach(28,700,2500); myservo4.attach(29,700,2500); myservo5.attach(6,700,2500); startingState=0; startingState2=0; startingState3=1; startingState4=1; startingState5=1; } void loop() { int pos; // see if there's incoming serial data: if (Serial.available() > 0) { // read the oldest byte in the serial buffer: incomingByte = Serial.read(); if (incomingByte == 'H' && startingState == 0) { startingState = 1; for (pos = 0; pos <= 180; pos += 1) { myservo.write(pos); delay(5); } delay(200); } if (incomingByte == 'L' and startingState == 1) { startingState = 0; for (pos = 180; pos >= 0; pos -= 1) { myservo.write(pos); delay(5); } delay(200); } if (incomingByte == 'A' && startingState2 == 0) { startingState2 = 1; for (pos = 0; pos <= 180; pos += 1) { myservo2.write(pos); delay(5); } delay(200); } if (incomingByte == 'B' and startingState2 == 1) { startingState2 = 0; for (pos = 180; pos >= 0; pos -= 1) { myservo2.write(pos); delay(5); } delay(200); } if (incomingByte == 'D' && startingState3 == 0) { startingState3 = 1; for (pos = 0; pos <= 180; pos += 1) { myservo3.write(pos); delay(5); } delay(200); } if (incomingByte == 'C' and startingState3 == 1) { startingState3 = 0; for (pos = 180; pos >= 0; pos -= 1) { myservo3.write(pos); delay(5); } delay(200); } if (incomingByte == 'F' && startingState4 == 0) { startingState4 = 1; for (pos = 0; pos <= 180; pos += 1) { myservo4.write(pos); delay(5); } delay(200); } if (incomingByte == 'E' and startingState4 == 1) { startingState4 = 0; for (pos = 180; pos >= 0; pos -= 1) { myservo4.write(pos); delay(5); } delay(200); } if (incomingByte == 'Q' && startingState5 == 0) { startingState5 = 1; for (pos = 0; pos <= 180; pos += 1) { myservo5.write(pos); delay(5); } delay(200); } if (incomingByte == 'P' and startingState5 == 1) { startingState5 = 0; for (pos = 180; pos >= 0; pos -= 1) { myservo5.write(pos); delay(5); } delay(200); } } }