En construcción: Automatización de persiana

hola a todos!!!

yo soy partidario de centralizar el control (pulsadores, sensores, detectores,...)y las maniobras( luces, persianas, bombas,...), en el mismo sitio( conjunto de contactores, mega,...)y si hay que controlar otro arduino( más sensores, pulsadores, maniobras)conectado mediante canbus.

En un principio el tema de las persianas las controlo mediante un solo pulsador ,ubicado al lado de ella.Los motores de las persianas de por si tienen finales de carrera, que se han de graduar, que nos valdrán como de seguridad. aun así siempre se ha de calcular el recorrido de la persiana para guardar el tiempomaximo y arduino lo controle
el pulsador recoge 2 tipos de pulsaciones: corta y larga.
y el estado de las persianas en un principio son 5:abajo, subiendo, medio, bajando y arriba.

las persianas tiene variables que cuentan el tiempo en los estados de subiendo y bajando para controlar el paro automático a la llegada del tiempomáximo o tiempo0 en el recorrido de la persiana
cada persiana contara con otra variable tempomáximo independiente al resto pues no todas las persianas, son igual de largas, o toldos o proyectores.... tienen el mismo recorrido

y el comportamiento de la persiana según el tipo de pulsación, y el estado de la persiana es el siguiente;
ESTADO PULSACIÓN
abajo-------->corta------->la persiana sube( empieza a contar tiempo asta tiempomaximo) estado=subiendo
subiendo----->corta-------> la persiana se para(memoriza tiempo)estado =medio
medio-------->corta-------> la persiana sube(empieza a contar tiempo + tiempo memorizado) estado=subiendo
___--->larga--------> la persiana baja(empieza a contar tiempo + tiempo memorizado ) estado=bajando
bajando------>corta-------> la persiana se para(memoriza tiempo) estado=medio
arriba--------->larga-------> la persiana baja(empieza a contar tiempo)estado=bajando

espero que te sea de ayuda.

saludos