Arduino - motor paso a paso

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 29 puestos en Arduino (en relación al último mes)
Gráfica de Arduino

motor paso a paso

Publicado por JOSE ANTONIO (1 intervención) el 15/12/2018 20:04:50
Hola a todos
estoy haciendo una compuerta para un futbolín y he conseguido hacer un programa que con un mismo pulsador me abra la compuerta 45 º y al volver al pulsar se invierte esos 45º grado y la compuerta se cierra, pero me gustaría que al pulsar se abra la compuerta y pasado un tiempo automaticamente se cerrara a la espera de volver a pulsar para abrir , os envío mi programa haber si alguien me puede ayudar , gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 40
Ha mantenido su posición en Arduino (en relación al último mes)
Gráfica de Arduino

motor paso a paso

Publicado por foroplus (18 intervenciones) el 23/12/2018 10:08:56
Te propongo el siguiente código, y además simplificarlo todo.
Ya que la compuerta se abrirá y cerrará automáticamente, no hace falta que guardes el estado de su posición.
Puedes eliminar la variable buttonState
Entiendo que con el primer if de tu código, se abre, y con el segundo se cierra (el segundo no me cuadra mucho). No he modificado esa parte, aunque creo que se podría optimizar bastante. No sé como va el código específico del motor paso a paso.
El código va dentro de loop()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if(( digitalRead(IN5) == 1 )) {// Rutina que se activa cuando se pulse el botón y arduino detecta en el pin 5 eso.
 
  while (steps_left > 0)
  {
    stepper() ;     // Avanza un paso
    steps_left-- ;  // Un paso menos
    delay (1) ;
  }
 
 delay(5000); // Se cerrará después de 5 segundos. Modifícalo para poner los segundos que quieras.
  Direction = ! Direction; // Invertimos la direceccion de giro
  steps_left = 1023;
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar