You are on page 1of 6

int PUL1 = 2;

int DIR1 = 3;
int PUL2 = 4;
int DIR2 = 5;
int PUL3 = 6;
int DIR3 = 7;
int PUL4 = 8;
int DIR4 = 9;
int PUL5 = 10;
int DIR5 = 11;
int PUL6 = 40;
int DIR6 = 41;
int SET1 = 14;
int SET2 = 15;
int SET3 = 16;
int SET4 = 17;
int SET5 = 18;
int SET6 = 19;
boolean newData = false;
String data = "";
int teta1,teta2,teta3,teta4,teta5,teta6;
int N_P1 = 0,N_P2 = 0,N_P3 = 0,N_P4 = 0,N_P5 = 0,N_P6 = 0;

void setup()
{
Serial.begin(115200);
pinMode(PUL1,OUTPUT);
pinMode(DIR1,OUTPUT);
pinMode(PUL2,OUTPUT);
pinMode(DIR2,OUTPUT);
pinMode(PUL3,OUTPUT);
pinMode(DIR3,OUTPUT);
pinMode(PUL4,OUTPUT);
pinMode(DIR4,OUTPUT);
pinMode(PUL5,OUTPUT);
pinMode(DIR5,OUTPUT);
pinMode(SET1,OUTPUT);
pinMode(SET2,OUTPUT);
pinMode(SET3,OUTPUT);
pinMode(SET4,OUTPUT);
pinMode(SET5,OUTPUT);
pinMode(SET6,OUTPUT);
digitalWrite(SET1,HIGH);
digitalWrite(SET2,HIGH);
digitalWrite(SET3,HIGH);
digitalWrite(SET4,HIGH);
digitalWrite(SET5,HIGH);
digitalWrite(SET6,HIGH);

void loop()
{
reconocer();
if(newData==true)
{
entero();

while(teta1>N_P1)
{
digitalWrite(DIR1,HIGH);
digitalWrite(PUL1,HIGH);
delayMicroseconds(500);
digitalWrite(PUL1,LOW);
delayMicroseconds(500);
N_P1=N_P1+1;
}
while(teta1<N_P1)
{
digitalWrite(DIR1,LOW);
digitalWrite(PUL1,LOW);
delayMicroseconds(500);
digitalWrite(PUL1,HIGH);
delayMicroseconds(500);
N_P1=N_P1-1;
}

while(teta2>N_P2)
{
digitalWrite(DIR2,HIGH);
digitalWrite(PUL2,HIGH);
delayMicroseconds(500);
digitalWrite(PUL2,LOW);
delayMicroseconds(500);
N_P2=N_P2+1;
}
while(teta2<N_P2)
{
digitalWrite(DIR2,LOW);
digitalWrite(PUL2,LOW);
delayMicroseconds(500);
digitalWrite(PUL2,HIGH);
delayMicroseconds(500);
N_P2=N_P2-1;
}

while(teta3>N_P3)
{
digitalWrite(DIR3,HIGH);
digitalWrite(PUL3,HIGH);
delayMicroseconds(500);
digitalWrite(PUL3,LOW);
delayMicroseconds(500);
N_P3=N_P3+1;
}
while(teta3<N_P3)
{
digitalWrite(DIR3,LOW);
digitalWrite(PUL3,LOW);
delayMicroseconds(500);
digitalWrite(PUL3,HIGH);
delayMicroseconds(500);
N_P3=N_P3-1;
}

while(teta4>N_P4)
{
digitalWrite(DIR4,HIGH);
digitalWrite(PUL4,HIGH);
delayMicroseconds(500);
digitalWrite(PUL4,LOW);
delayMicroseconds(500);
N_P4=N_P4+1;
}
while(teta4<N_P4)
{
digitalWrite(DIR4,LOW);
digitalWrite(PUL4,LOW);
delayMicroseconds(500);
digitalWrite(PUL4,HIGH);
delayMicroseconds(500);
N_P4=N_P4-1;
}

while(teta5>N_P5)
{
digitalWrite(DIR5,HIGH);
digitalWrite(PUL5,HIGH);
delayMicroseconds(500);
digitalWrite(PUL5,LOW);
delayMicroseconds(500);
N_P5=N_P5+1;
}
while(teta5<N_P5)
{
digitalWrite(DIR5,LOW);
digitalWrite(PUL5,LOW);
delayMicroseconds(500);
digitalWrite(PUL5,HIGH);
delayMicroseconds(500);
N_P5=N_P5-1;
}
data = "";
newData=false;
}

void reconocer()
{
while(Serial.available())
{
//Serial.println(data);
char character;
char salto = '\n';
character = Serial.read();
if(character != salto)
{
data.concat(character);
}
else
{
newData = true;
}

}
}
void entero()
{
if(newData == true)
{
char a[30];
data.toCharArray(a,30);
data = "";

if((a[0]=='A')&&(a[4]=='B')&&(a[8]=='C')&&(a[12]=='D')&&(a[16]=='E')&&(a[20]=
='F'))
{
//Serial.println("Los caracteres son validos");
char ang1[5] = {a[1],a[2],a[3]};
int val1 = atoi(ang1);
char ang2[5] = {a[5],a[6],a[7]};
int val2 = atoi(ang2);
char ang3[5] = {a[9],a[10],a[11]};
int val3 = atoi(ang3);
char ang4[5] = {a[13],a[14],a[15]};
int val4 = atoi(ang4);
char ang5[5] = {a[17],a[18],a[19]};
int val5 = atoi(ang5);
char ang6[5] = {a[21],a[22],a[23]};
int val6 = atoi(ang6);

teta1 = (val1*22.22222);
teta2 = (val2*55.55555);
teta3 = (val3*55.55555);
teta4 = (val4*11.11111);
teta5 = (val5*21.33333);
teta6 = (val6*15.299555555);

}
}

You might also like