/////////////////ใช้อ่านได้
#include <SoftwareSerial.h>
#include <Servo.h>
SoftwareSerial portOne(A1, A2);
String readString;
char DATA;
Servo myservo1;
Servo myservo2;
Servo myservo3;
Servo myservo4;
int posA=90;
int posB=30;
int posC=130;
int posD=80;
int DSPeed=50;
void setup()
{
Serial.begin(115200);
portOne.begin(9600);
Serial.println("RUN");
myservo1.attach(3);
myservo2.attach(4);
myservo3.attach(5);
myservo4.attach(6);
myservo1.write(posA); //0-180
myservo2.write(posB);//30-60
myservo3.write(posC);//120-180
myservo4.write(posD);
}
void loop()
{
if(portOne.available())
{
DATA = portOne.read();
Serial.print("DATA= ");
Serial.print(DATA);
Serial.print(posA);
Serial.print(posB);
Serial.print(posC);
Serial.print(posD);
Serial.println("");
delay(10);
///////////////////////////////
}
if(DATA=='S')
{
myservo1.write(posA); //0-180
myservo2.write(posB);//30-60
myservo3.write(posC);//120-180
myservo4.write(posD);
}
else if(DATA=='A'&&posA<180)
{
posA++;
myservo1.write(posA); //0-180
myservo2.write(posB);//30-60
myservo3.write(posC);//120-180
myservo4.write(posD);
delay(DSPeed);
}
else if(DATA=='B'&&posA>1)
{
posA--;
myservo1.write(posA); //0-180
myservo2.write(posB);//30-60
myservo3.write(posC);//120-180
myservo4.write(posD);
delay(DSPeed);
}
else if(DATA=='D'&&posB<120)
{
posB++;
myservo1.write(posA); //0-180
myservo2.write(posB);//30-60
myservo3.write(posC);//120-180
myservo4.write(posD);
delay(DSPeed);
}
else if(DATA=='C'&&posB>10)
{
posB--;
myservo1.write(posA); //0-180
myservo2.write(posB);//30-60
myservo3.write(posC);//120-180
myservo4.write(posD);
delay(DSPeed);
}
else if(DATA=='F'&&posC<180)
{
posC++;
myservo3.write(posC);//120-180
myservo4.write(posD);
delay(DSPeed);
}
else if(DATA=='E'&&posC>120)
{
posC--;
myservo3.write(posC);//120-180
myservo4.write(posD);
delay(DSPeed);
}
else if(DATA=='H'&&posD<80)
{
posD++;
myservo4.write(posD);
delay(DSPeed);
}
else if(DATA=='G'&&posD>30)
{
posD--;
myservo4.write(posD);
delay(DSPeed);
}
}////////////loop