int valorReturn = 0;
void setup() { //funcion de configuracion
Serial.begin(115200); //Inicializacion del monitor serial velocidad de 9600 bits/s
}
void loop() { //funcion del programa
//Recepcion de datos Flex
int pinki = analogRead(35); // meñique
int anular = analogRead(32); //anular
int medio = analogRead(33); // medio
int indice = analogRead(26); // indice
int pulgar = analogRead(27); // pulgar
// declaracion de variables, con lectura analogica con la funcion analogRead
// datos de tension medidos Flex (meñique,anular,medio,indice,pulgar)
// Se realiza el mismo procedimiento con el resto de variables qu e corresponden a cada dedo
//Visualizacion de los datos por el monitor serial
muestraDatos(pulgar, indice, medio, anular, pinki);
// valorReturn = interpretDtos(pulgar, indice, medio, anular, pinki);
Serial.println(valorReturn);
delay(1000);
}
// Esta funcion compara los valores recibidos de los sensores flex, y luego los devuelve como un valor simple, por ejemplo 1,2,...,10
int interpretDtos(int a, int b, int c, int d, int e){
int valor = 1000;
if(a < 750 && b < 750 && c < 750 && d < 750 && e < 750 ){
valor = 0;
Serial.println("valor cero ");
} else if (a < 750 && c < 750 && d < 750 && e < 750){
valor = 1;
Serial.println("valor uno");
} else if (a < 750 && d < 750 && e < 750 ){/*&& c == 3 && d == 0 && e == 0*/
valor = 2;
Serial.println("valor dos");
} else if (d < 750 && e < 750){
valor = 3;
Serial.println("valor tres");
} else if (a < 750){
valor = 4;
Serial.println("valor cuatro");
} else if (a > 750 && b > 750 && c > 750 && d > 750 && e > 750){
valor = 5;
Serial.println("valor cinco");
} else if (a < 750 && e < 750){
valor = 6;
Serial.println("valor seis");
} else if (a < 750 && d < 750){
valor = 7;
Serial.println("valor siete");
} else if (a < 750 && c < 750){
valor = 8;
Serial.println("valor ocho");
} else if (a < 750 && b < 750){
valor = 9;
Serial.println("valor nueve");
} else if (b < 750 && c < 750 && d < 750 && e < 750 ){
valor = 10;
Serial.println("valor diez");
}
/* else if (a == 1 && b == 0 && c == 0 && d == 0 && e == 0){
valor = 5;
} else if (a == 1 && b == 0 && c == 0 && d == 0 && e == 0){
valor = 6;
} else if (a == 1 && b == 0 && c == 0 && d == 0 && e == 0){
valor = 7;
} else if (a == 1 && b == 0 && c == 0 && d == 0 && e == 0){
valor = 8;
} else if (a == 1 && b == 0 && c == 0 && d == 0 && e == 0){
valor = 9;
} else if (a == 1 && b == 0 && c == 0 && d == 0 && e == 0){
valor = 10;
}*/ else{
valor = 1000;
}
return valor;
}
void muestraDatos(int pulgar, int indice, int medio, int anular, int pinki){
Serial.print("pulgar: "); // El Serial.print muestra los valores de los datos medidos por el flex en el monitor
Serial.print(pulgar);
Serial.print("\t");
Serial.print("indice: ");
Serial.print(indice);
Serial.print("\t");
Serial.print("medio: ");
Serial.println(medio);
Serial.print("\t");
Serial.print("anular: ");
Serial.print(anular);
Serial.print("\t");
Serial.print("pinki: ");
Serial.print(pinki);
//Serial.print(pulgar);
// Serial.println("");
delay(1000);
}