Arduino ändlig tillståndsmaskin och parallellbearbetning
En ändlig tillståndsmaskin är diagram används för att organisera aktiviteter för att styra flera insdustrial system (produktion, värmare, pump, transportörer...).
Alla dessa sytems med stater (förknippas med en "åtgärd", dvs: start, kör, stoppa) några av dem är "ville" eller sagt "stable" andra "oönskade" eller instabil. Ändlig stat maskin metoden eller diagram organiserar endast stabila stater. När en utlösare eller en övergång är sant (dvs: sensor ON, knappen sköt), det tidigare tillståndet är avstängd och följande staten är påslagen.
För information:
http://en.wikipedia.org/wiki/finite-state_machine
Andra diagram har nästan samma igång: Moore machine, mjölig maskin, SFC diagram (GRAFCET i franska).
I detta instructable kommer jag att tala om för att genomföra en tillståndsdator i en arduino uno med SM-biblioteket. Detta bibliotek kan du köra "concurent staterna" eller parallella uppgifter (realtid maskiner): kan du styra många olika maskin eller oberoende system med endast en mikrokontroller. Det är mycket kraftfull och behöver inte alltför många kodrader.
I min tidigare instructables jag använder ett enkelt sätt att köra en ändlig tillståndsmaskin på min arduino tända dimmer (utan någon särskild bibliotek) men jag tror det är omöjligt att köra concurent stat och det är mycket svårt att använda nödstopp (nödvändigt och nyttigt för säkerhet i indstrial).
Redaktör jag använde, ritar diagram med SYSML eller UML 2 regler och gör finites stater maskiner som en Moore/Mealy blandning.
Jag genomfört 3 "riktiga" exempel av tillståndsdator att utforska de flesta av funktionerna i biblioteket SM.h.
PS: Denna metod är lämplig, vanliga och välkända för personer som arbetar inom automation, många dator utvecklare inte gillar det. Se denna artikel: