#include #define stepAngle 45 Servo myservo; int pos = 0; int oldPos = 180; char recievedChar; void setup() { Serial.begin(9600); myservo.attach(6); for(int i = oldPos; i <= pos; i++) { myservo.write(i); delay(20); } } void loop() { if(Serial.available()){ int tmpPos = Serial.read(); if(tmpPos) { switch(tmpPos) { case 'A': pos = 0; break; case 'B': pos = stepAngle * 1; break; case 'C': pos = stepAngle * 2; break; case 'D': pos = stepAngle * 3; break; case 'E': pos = stepAngle * 4; break; } if(oldPos < pos) { for(int i = oldPos; i <= pos; i++) { myservo.write(i); delay(10); } } else { for(int i = oldPos; i > pos; i--) { myservo.write(i); delay(10); } } /* Serial.print(oldPos); Serial.print("\t"); Serial.print(pos); Serial.print("\t"); Serial.println(tmpPos); */ oldPos = pos; } } //Serial.flush(); }