Muy buenas de nuevo compañeros, tengo una consultilla para ver si le podeis dar solucion jeje. Me he fabricado un servomotor casero con un potenciometro lo consigo hechar a andar y eso pero se vuelve loco a la hora de llegar al final de su recorrido, osea que empieza a buscar la posicion donde deberia colocarse a izquierda a derecha pero no consigo que se quede en ese punto fijo. tengo este codigo :
int ledPin = 13; // LED conectado al pin digital 13
int M1_A = 7; // Motor 1 entrada A
int M1_B = 8; // Motor 1 entrada B
int M1_Enable = 9; // Motor 1 Enable
int val;
int potpin=0;
void setup()
{// Inicializa los pines de salida
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode( M1_A, OUTPUT);
pinMode( M1_B, OUTPUT);
pinMode(M1_Enable, OUTPUT);
}
void loop(){
digitalWrite(M1_Enable,HIGH); // Solo si el pin Enable del puente H esta habilitado
val = analogRead(potpin);
Serial.println(val);
int x;
x=600;
if(val>x){
digitalWrite( M1_B, LOW); // Valores BAJO en A y ALTO en B simultaneamente
digitalWrite( M1_A, HIGH); // hacen girar el motor 1 hacia ATRAS
}
if(val<x){
digitalWrite( M1_A, LOW); // Valores BAJO en A y ALTO en B simultaneamente
digitalWrite( M1_B, HIGH); // hacen girar el motor 1 hacia ATRAS
}
if(val==x){
digitalWrite(M1_Enable, LOW); // Solo si el pin Enable del puente H esta habilitado
}
}
deduzco que lo que le pasa es que se pasa el valor del potenciometro al ser tan sensible. Si conocierais algun truquito para que esto no pase seria interesante escucharlo. Saludos a todos!!