#include Servo servo1; Servo servo2; Servo servo3; Servo servo4; Servo servo5; int pos[5]; int posDeseada[5]; int auxServo[5]; char bufferRecep[50]; int indCoor; int indBuf; void setup() { //funcion q uso para inicializar variables, para determinar si mis pines son de entrada o salida, tambn para declarar las librerias q vaya a adjuntar Serial.begin(115200); servo1.attach(3); servo2.attach(4); servo3.attach(5); servo4.attach(6); servo5.attach(7); posDeseada[0]=(int)(90); posDeseada[1]=(int)((float)90*(float)((float)70/(float)90)); posDeseada[2]=((int)((float)90*(float)((float)85/(float)90)))+60; posDeseada[3]=0+85; posDeseada[4]=90; indCoor = 0; indBuf = 0; } void loop() { servo1.write(posDeseada[0]); servo2.write(posDeseada[1]); servo3.write(posDeseada[2]); servo4.write(posDeseada[3]); servo5.write(posDeseada[4]); } void serialEvent() { while(Serial.available()) { char inChar = (char)Serial.read(); switch(inChar){ case ':': indBuf=0; break; case '\r': bufferRecep[indBuf] = 0; cargarValores(); break; default: bufferRecep[indBuf++]= inChar; break; } } } void cargarValores(){ int i=1; int j=0; char token[10]; indCoor = 0; if (bufferRecep[0]=! 0){ while(bufferRecep[i] != 0){ if(bufferRecep[i] != ','){ token[j++] = bufferRecep[i]; if(bufferRecep[i+1] == 0){ token[j] = '\0'; posDeseada[indCoor++] = atoi(&token[0]); j = 0; } } else{ token[j] = '\0'; posDeseada[indCoor++] = atoi(&token[0]); j = 0; } i++; } posDeseada[1]=(int)((float)posDeseada[1]*(float)((float)70/(float)90)); posDeseada[2]=((int)((float)posDeseada[2]*(float)((float)85/(float)90)))+60; posDeseada[3]=posDeseada[3]+85; posDeseada[0]=(int)(posDeseada[0]); Serial.println(posDeseada[0]); } }