temporizador sin delay + bluetooth

josuvas:
Estoy practicando lo de los millis, pero todo los ejemplos que explican son de como hacer que un led se encienda y apague cada x segundos, y no consigo hacer que solo encienda y apague una vez y luego se quede esperando a una nueva orden.

Hola,

No suelo meterme mucho a la hora de ayudar directamente con el código, pero en tu caso voy a hacer una excepción por las siguientes razones:

  1. Porque parece, a juzgar por los correos, que eres un tío bastante normal.
  2. Porque el código que adjuntas está claro, es justo lo que hay que escribir (aunque no sea lo suficientemente sofisticado para tu necesidad).
  3. Porque a la hora de pedir ayuda entiendes que tienes que poner algo de tu parte.
  4. Porque mi área de trabajo es bastante cercana a lo que estás haciendo (en general, no que sea específicamente para eso) y, si alguien más quiere aprender, lo que te explicaré es bastante útil.

Voy a hacer un borrador de un sistema que A) responda a una demanda (i.e.: la "A" desde el móvil) que ponga en marcha algo durante un tiempo "T"; B) Quede a la espera, "mientras tanto", de otra orden desde el móvil; C) Si ésta le llega -digamos "B"- pone en marcha otro proceso que dura "X"; ambos procesos siguen en marcha "simultáneamente"; D) Acepta, además, la orden "X" que para el proceso puesto en marcha en "A" y la orden "Y" que hace lo propio con el de "B"; todo ello mientras que uno o ambos procesos siguen en marcha. Evidentemente se trata de que las temporizaciones no detengan el arduino.

Yo empleo una técnica que se llama autómata de estados y cuya programación es, digamos, prolija. Haremos algo más simple para que lo puedas complicar (varias temporizaciones, ordenes) lo que necesites. Hacer el borrador me llevará un rato (quizá no lo pueda postear hasta mañana por la mañana -horario de España), asi que, de momento, vete mirando cómo se trocea el código en "funciones" para que la programación de lo anterior no se convierta en una cascada de "ifs" (código spaghetti). Lo suyo sería crear una función para cada uno de los "case" de lo que tienes, -para aprender-, pero con que hagas una (la "A", por ejemplo, vale).

Saludos