Saludos desde Guatemala, la cosa es:
Casi termino mi proyecto de una mano con servos pero el problema es que la presentaré como una maqueta interactiva entonces necesito que al presionar el pulsador los servos se muevan, y consigo, la mano. Pero no logro hacerlo, tengo pocos conocimientos de programación y he probado con ejemplos que he leído en el foro pero nada de nada
Éste es mi código y lo que esta en el loop es lo que necesito que haga al presionar el pulsador, cuando termine vuelva a caer en posición normal y así sucesivamente.
Gracias por el link pero no resuelve mi duda totalmente, pues sí puedo conectar el servo a un pulsador y manejarlo así en sólo 2 posiciones. El problema radica en que al finalizar la acción que se realiza al presionar el botón regrese a como estaba antes de presionarlo (como un reset) y así al volver a presionarlo haga lo mismo y regrese, lo mismo y regrese.
Es decir, quieres dar a un pulsador y que el servo vaya a una posicion y vuelva a la original? en cuanto tiempo?
si es así y por ejemplo inicializas el servo en una posicion (la que tu quieras) con una variable (por ejemplo "pos") y vuelves a esa posicion despues:
int pos1=90;
Servo servo1;
void setup(){
servo1.attach (3);
servo1.write(pos1)
}
void loop(){
//despues de pulsar el boton
servo1.write (180);//o a la posicion que lo quieras mover. Tambien puedes llegar hasta ahi poco a poco con un "for"
servo1.write (pos1);
}
como ves, puedes evitar el "pos1", pero al tener 5 servos puede ser interesante que guardes las posiciones de origen con estas variables para que no te confundas..
no se si esto te ayuda.. espero que si.. sino es que no te he entendido muy bien, jeje XD
el problema ahora es que al presionar el botón se inicia el loop de //contracción cascada pero vuelve y vuelve a iniciar de manera que no me deja volver a presionar el botón para que suceda el "else //posición normal"
¿como puedo hacer para que se detenga?
Bueno, al fin lo he resuelto (luego de 4 largos días )
les comparto el código por si alguna vez lo necesitan para algún proyecto. Utilicé un código que encontré en otro post que lo que hacia era mover el servo hasta una posición mientras se mantenía el pulsador presionado. Lo que hice fue modificarlo e incluir más funciones dentro del "single servo function" al final resultó ser justo como quería y no sé como
Necesitaria ayuda con un sencillo proyecto,digo sencillo para gente con una buena base como ustedes....
La idea es la siguiente,necesitaria encender un led con un pulsador,pero se deben cumplir dos requisitos.
Para que este led se encienda,el pulsador debe de estar pulsado al menos dos segundos y dicho led permanecera encendido aunque se pulse nuevamente dicho pulsador.
danielflores, copia tu consulta, borra este mensaje acá y crea un hilo con la misma.
Ya te daremos la solucion, pero nada tiene que ver con este Tópico.