Una máquina de estados finitos es diagrama usado para organizar las tareas para controlar varios sistemas industriales (producción, calentador, bomba, cintas transportadoras...).
Todos estos sistemas incluyen Estados (asociada a una "acción", es decir: Inicio, ejecutar, detener) algunos de ellos son "quería" o dice "estable" otros son "no deseados" o inestable. El método de la máquina de estados finitos o diagrama organiza Estados sólo estables. Cuando un desencadenador o una transición es cierto (es decir: sensor, pulsación), el estado anterior se apaga y se enciende el siguiente estado.
Para más detalles:
http://en.wikipedia.org/wiki/Finite-state_machine
Otros diagramas tienen casi el mismo funcionamiento: máquina de Moore, cochinilla, diagrama de SFC (GRAFCET en francés).
En este instructable hablaré a punto de implementar una máquina de Estados en un uno de arduino usando la biblioteca de SM. Esta biblioteca le permite ejecutar "Estados concurent" o tareas paralelas (máquinas de tiempo real): usted puede controlar muchos otra máquina o sistema independiente con sólo un microcontrolador. Es muy poderoso y no necesita demasiadas líneas de código.
En mi anterior instructables utilizo una forma sencilla de ejecutar una máquina de estados finitos en mi arduino atenuador de luz (sin cualquier biblioteca especial) pero creo que es imposible ejecutar concurent estado y es muy difícil utilizar la parada de emergencia (esencial y útil en los sistemas de seguridad indstrial).
El editor utiliza, dibuja diagramas SYSML o UML 2 reglas y hace finitos Estados máquinas como una mezcla de Mealy/Moore.
Puse en ejecución 3 ejemplos "reales" de máquina de Estados para explorar la mayoría de las funciones de la biblioteca SM.h.
PS: Este método es conveniente, común y bien conocido por las personas que trabajan en la automatización, desarrollador informático muchos no les gusta. Consulte este artículo: