Hola,
Estas son las hojas de datos de los componentes del circuito:
Estoy usando un Arduino UNO R3
Este diagrama del circuito refleja cómo es el mío:
Lo único que tengo distinto de este diagrama es la conexión del cable rojo de los sensores, que en mi caso va hacia GND; y la conexión del cable negro de los sensores, que en mi caso va hacia 5V.
Quería recalcar que los valores que me salen en monitor reflejan bien el estado del flex sensor (doblado o no doblado) con números que van de 0 a 1000. Aún así, los motores a veces empiezan a dar vueltas enteras doble o no el sensor.
Por último, este es el código que estoy usando:
#include<Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;
int flex1= A1;
int flex2= A2;
int flex3= A3;
int flex4= A4;
int flex5= A5;
;
void setup() {
Serial.begin(9600);
servo1.attach(2);
servo2.attach(3);
servo3.attach(4);
servo4.attach(5);
servo5.attach(6);
}
void loop()
{
int flex1_pos;
int servo1_pos;
flex1_pos = analogRead(flex1);
servo1_pos = map(flex1_pos, 20, 850, 0, 180);
servo1_pos = constrain(servo1_pos, 0, 180);
servo1.write(servo1_pos);
int flex2_pos;
int servo2_pos;
flex2_pos = analogRead(flex2);
servo2_pos = map(flex2_pos, 20, 850, 0, 180);
servo2_pos = constrain(servo2_pos, 0, 180);
servo2.write(servo2_pos);
int flex3_pos;
int servo3_pos;
flex3_pos = analogRead(flex3);
servo3_pos = map(flex3_pos, 20, 850, 0, 180);
servo3_pos = constrain(servo3_pos, 0, 180);
servo3.write(servo3_pos);
int flex4_pos;
int servo4_pos;
flex4_pos = analogRead(flex4);
servo4_pos = map(flex4_pos, 20, 850, 0, 180);
servo4_pos = constrain(servo4_pos, 0, 180);
servo4.write(servo4_pos);
int flex5_pos;
int servo5_pos;
flex5_pos = analogRead(flex5);
servo5_pos = map(flex5_pos, 20, 850, 0, 180);
servo5_pos = constrain(servo5_pos, 0, 180);
servo5.write(servo5_pos);
Serial.print(flex1_pos);
Serial.print("\n");
Serial.print("b");
Serial.print(flex2_pos);
Serial.print("\n");
Serial.print("c");
Serial.print(flex3_pos);
Serial.print("\n");
Serial.print("d");
Serial.print(flex4_pos);
Serial.print("\n");
Serial.print("e");
Serial.print(flex5_pos);
Serial.print("\n");
Serial.print("a");
delay(500);
}
Espero que así se pueda entender mejor cómo es mi proyecto y sea más fácil poder encontrar solución a mi problema.
¡Muchas gracias!