#include <ESP32Servo.h>
Servo SRA1,SRA2,SRA3,SRB1,SRB2,SRB3,SRC1,SRC2,SRC3,
SLA1,SLA2,SLA3,SLB1,SLB2,SLB3,SLC1,SLC2,SLC3;
int posRA1,posRa2,posRa3,posRB1,posRB2,posRB3,posRC1,posRC2,posRC3,
posLA1,posLa2,posLa3,posLB1,posLB2,posLB3,posLC1,posLC2,posLC3;
int speed=5;
int pos, setpos=0;
int loope;
char data;
String databyte ="";
String loopsts ="x";
void setservo(){
SRA1.attach(4);
SRA2.attach(16);
SRA3.attach(17);
SRB1.attach(5);
SRB2.attach(18);
SRB3.attach(19);
SRC1.attach(21);
SRC2.attach(22);
SRC3.attach(23);
SRA1.attach(15);
SRA2.attach(13);
SRA3.attach(12);
SRB1.attach(14);
SRB2.attach(27);
SRB3.attach(26);
SRC1.attach(25);
SRC2.attach(33);
SRC3.attach(32);
}
void runservo(){
SRA1.write(pos);
SRA2.write(pos);
SRA3.write(pos);
SRB1.write(pos);
SRB2.write(pos);
SRB3.write(pos);
SRC1.write(pos);
SRC2.write(pos);
SRC3.write(pos);
SLA1.write(pos);
SLA2.write(pos);
SLA3.write(pos);
SLB1.write(pos);
SLB2.write(pos);
SLB3.write(pos);
SLC1.write(pos);
SLC2.write(pos);
SLC3.write(pos);
}
void setup() {
Serial.begin(115200);
Serial.println("Hello, ESP32!");
setservo();
pos=0;loope=1;
}
void loop() {
if(Serial.available() > 0)
{
data = char(Serial.read());
if(data == '0'){
databyte=databyte+"0";
}
if(data == '1'){
databyte=databyte+"1";
}
if(data == '2'){
databyte=databyte+"2";
}
if(data == '3'){
databyte=databyte+"3";
}
if(data == '4'){
databyte=databyte+"4";
}
if(data == '5'){
databyte=databyte+"5";
}
if(data == '6'){
databyte=databyte+"6";
}
if(data == '7'){
databyte=databyte+"7";
}
if(data == '8'){
databyte=databyte+"8";
}
if(data == '9'){
databyte=databyte+"9";
}
if(databyte.length()>=3){
Serial.println(databyte);
pos=(databyte.toInt());
if(pos>=150){pos=150;}
if(databyte=="123"){
loopsts="y"; }
else{loopsts="x";}
databyte="";
runservo();
}
}
if(loopsts=="y"){
if(pos>=150)
{loope=-10;}
if(pos<=30)
{loope=10;}
pos=pos+loope;
}
runservo();
Serial.println(String(pos));
delay(1);
}