Hola.
Soy nuevo en esto de Arduino, y aprendiendo cosillas he decidido intentar hacer un semáforo. El caso es que aparentemente funciona todo correcto. Un semáforo que empieza en rojo, y pasado un tiempo se pone amarillo y verde y pasado el tiempo se vuelve a poner amarillo y rojo. El problema llega al poner un botón el cual debe hacer que si el semáforo está en rojo, pase a amarillo y verde automáticamente.
Pues bien, resulta que si el botón lo pulso acabado de ponerse el semáforo en rojo funciona bien, pero si lo pulso cuando Arduino está leyendo la mitad del programa no hace caso al botón.
Os paso el código a ver si me podéis decir que puedo hacer.
Entiendo que no funciona porque la función del botón está al principio del programa. ¿Cómo puedo decirle a Arduino que en cuanto reciba la orden del botón, se ponga en verde?
No busco opiniones de si el programa se puede optimizar y demás, ya que seguramente que sí, pero entiendan que estoy empezando, ya habrá tiempo de hacerlo más bonito. Ahora mismo lo que busco es que funcione.
Quiero saber que se hace en los casos en que cuando se le envía una instrucción a Arduino, esté donde esté la lectura del programa, deje lo que está haciendo y se ponga con lo que se le manda.
Un saludo