#define SERVO1 2 #define SERVO2 3 #define CYCLE 10 void setp() { Serial.begin(9600); pinMode(SERVO1, OTPT); pinMode(SERVO2, OTPT); } void loop() { int posx=90; int posy=90; while(1){ if (Serial.available()!=0){ char data=Serial.read(); delay(2); while(Serial.available()==0){ switch(data){ case('h') : posx-=2; if(posx>180)posx=180; break; case('b') : posx+=2; if(posx<0)posx=0; break; case('g') : posy--; if(posy>180)posy=180; break; case('d') : posy++; if(posy<0)posy=0; break; } if(posx>180)posx=180; if(posx<0)posx=0; if(posy>180)posy=180; if(posy<0)posy=0; setPosition(posx,posy); } } } } void setPosition(int positx,int posity){ int tempx= map(positx,180,0,1550,900); int tempy= map(posity,180,0,2400,700); /*Serial.print(tempx); Serial.print(""); Serial.println(tempy);*/ digitalWrite(SERVO1,1); delayMicroseconds(tempx); digitalWrite(SERVO1,0); digitalWrite(SERVO2,1); delayMicroseconds(tempy); digitalWrite(SERVO2,0); delay(CYCLE); }