Ayuda con el codigo

Tengo este codigo:

#include <Servo.h> // declare the library Servo.h

Servo myservo1;// create servo object to control a servo with joystick

int potpin0 = 0;// analog pin used to connect the potentiometer
int val1;

int inPin = 7; // choose the input pin (for a pushbutton)
int val6 = 7; // variable for reading the pin status

void setup()
{
myservo1.attach(3); // attaches the servo on pin 9 to the servo object
pinMode(inPin, INPUT); // declare pushbutton as input

}

void loop()
{
val1 = analogRead(potpin0); // reads the value of the potentiometer (value between 0 and 1023)
val1 = map(val1, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
delay(15); // waits for the servo to get there

val6 = digitalRead(inPin); // read input value

if (val6 == HIGH)
{
myservo1.write(val1);
}

}

Lo que quiero es que cuando aprete el boton se fije en la posición que esta el potenciometro esta bien? gracias

Hola nch14.

Estaría bien que no abrieras más de un hilo para el mismo tema. Sobre tu código, ¿lo has probado? ¿Qué hace o no hace respecto a lo que quieres que haga? Al cargarlo, ¿no te da ningún error?

no me reacciona, cuando no toco nada tiembla el servo, y al tocar el pulsador para de temblar, pero muevo el joystick y nada

¿Cómo alimentas el servo?

si que me funciona, pero lo que no del todo bien, yo quiero lograr que al pulsar se quede fija la posición y que para ir variando tenga que ir pulsando, como lo puedo hacer, estoy muy perdido

Si quieres que te ayude aclárate primero o explícate bien y contesta a mis preguntas. En dos mensajes seguidos dices que no te reacciona y que sí que te funciona pero no del todo bien ¿? ¿Funciona o no? Si es que no, ¿qué es lo que no funciona? Te pregunto cómo tienes alimentado el servo y no respondes.

perdona, los alimento con 5 voltios desde usb, funciona regular, hay veces que responde y otras que no, lo que quiero lograr es lo siguiente:

-Joystick esta en grado 0 -Muevo el joystick para arriba, grado 180 -Pulso el pulsador manteniendo el joystick en posición 180, de tal manera que se fije la posición -Suelto el joystick, grado 0, pero no sucede nada porqué he pulsado el pulsador de fijar posición esta seria la idea, si me puedes ayudar te estaria agradecido

Lo que quieres hacer ya lo sé, está claro, la cuestión es qué es lo que hace con tu código. Pero lo primero es que alimentes el servo con otra fuente externa y unas el GND de esta fuente y Arduino.

correcto, ya esta alimentada a 6 v, como sigo?

Carga tu programa y mira lo que hace. Recuerda unir el GND de tu fuente con el de Arduino.

cuando lo apreto, hay veces que cuando apreto el boton al mover el joystick se para y se queda como muerto , y dejo de apretarlo y se puede volver a mover, pero lo que quiero hacer es que para ir moviendo el servo yo tenga que ir apretando y ese programa no me lo hace

Prueba a quitar el delay o ponerlo más pequeño.

Creo que con ese delay funciona bien. Pon el esquema de cómo tienes conectado todo porque tal vez tengas algo mal.

pero antes de eso, el codigo no es lo que quiero, yo quiero que se quede en la posicion que esta cuando se pulsa el boton com lo puedo hacer?

Eso es lo que hace el código, ¿no? Si no accionas el pulsador puedes variar el potenciómetro y el servo no se mueve de su posición. En cuanto accionas el pulsador el servo se mueve a la posición marcada por el potenciómetro en ese momento. Y si mantienes accionado el pulsador el servo se mueve en tiempo real a la posición que le marca el potenciómetro.