Problema de retroceso de motor con joystick

Hola
Estoy empezando con arduino con un proyecto de brazo robótico al mover el motor se retrocede a un punto en específico, alguien me puede ayudar con este problema

Muchas gracias

#include <Servo.h>
Servo servomotor1;
int Y = 0;
void setup() {
  // put your setup code here, to run once:
 Serial.begin(9600);
 servomotor1.attach(4);
}

void loop() {
  // put your main code here, to run repeatedly:

 int position_Y = analogRead(Y);
 int angulo = map(position_Y, 0, 1023, 0, 180);

 servomotor1.write(angulo);
}


¿Te parece que es suficiente explicación para entender el problema?

Si me guio por tu código no veo un problema.
El servo sigue el movimiento del joystick, entonces cuando lo sueltas y vuelve al centro el servo vuelve a la posición 90°.

Explica mejor que es lo que quieres lograr.

Agregar un par de serial print te ayudará a entender lo que sucede

void loop() {
  // put your main code here, to run repeatedly:

 int position_Y = analogRead(Y);
 int angulo = map(position_Y, 0, 1023, 0, 180);
 Serial.println("Angulo : " + String(angulo));
 servomotor1.write(angulo);
}

Esta instrucción muestra la etiqueta Angulo : seguida del angulo que le envias al servo. Verás que al soltar el joystick el mismo vuelve a la posición 90 o próxima a ese valor. Luego se mueve desde 0 a 180.

lo que quiero hacer es que a la ora de soltarlo no se vuelva al centro si no a la posición que le indica el joystick

Pero la posicion que indica el joystick cuando lo sueltas es el centro, creo que tienes un error al expresarte.
Diras, quiero que permanezca en la ultima posición que le di, para lo cual deberias establecer un criterio que determine que esa posicion es la que quieres, digamos por ejemplo que te quedas 5 segundos en esa posicion, entonces el sistema dice.. ahhh llevo 5 segundo en 123 grados, okay, permanezco ahi.

Muchas Gracias en verdad me funciono

Pero ojo... tmb tomará la posicion central como la que deseas, me he dado cuenta que no alcanza con decirle toma la ultima durante 5 segundos.
Deberías descartar la posicion central y entonces quedarte con la ultima, o simplemente tener un botón y decirle quiero esta posicion.
Por el momento no se me ocurre otra manera. Tal vez a alguien si.

Ahora me gusta más. :slightly_smiling_face:

Tampoco se me ocurre mejor idea que un pulsador.

Como si fuese una mascota que siempre te acompaña cuando caminas, de alguna forma debes decirle "quédate quiet@ ahí" cuando no quieres que te siga.

Muchas Gracia por sus respuestas

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.