Arduino eindige toestandsmachine en multitasks


Een eindige toestandsmachine is diagram gebruikt voor het organiseren van taken om te bepalen van de verschillende insdustrial systemen (productie, kachel, pomp, transportbanden...).

Alle deze sytems omvatten Staten (geassocieerd met een "actie", dwz: start, uitvoeren, stoppen) sommige van hen zijn "gezocht" of zei "stabiele" anderen "ongewenste" of instabiel zijn. De methode van eindige state machine of het diagram organiseert alleen stabiele staten. Wanneer een trigger of een overgang is voldaan (dwz: sensor op, knop ingedrukt), de vorige toestand is uitgeschakeld en de volgende staat is ingeschakeld.

Voor meer informatie:

http://en.wikipedia.org/wiki/Finite-state_machine

Overige diagrammen hebben bijna de zelfde werking: Moore machine, melig machine, SFC diagram (GRAFCET in het Frans).

In dit instructable zal ik spreken over te voeren een statusmachine in een arduino uno met behulp van SM bibliotheek. Deze bibliotheek kunt u uitvoeren "concurent Staten" of parallelle taken (real-time machines): u kunt vele verschillende machine of onafhankelijke systeem met alleen een microcontroller. Het is zeer krachtig en hoeft niet te veel regels code.

In mijn vorige instructables gebruik ik een eenvoudige manier om een eindige toestandsmachine op mijn arduino licht dimmer (zonder een speciale bibliotheek), maar ik denk dat het is onmogelijk om uit te voeren van de concurent staat en het is zeer moeilijk te gebruiken noodstop (essentiële en bruikbaarheid in indstrial systemen voor veiligheid).

De editor ik gebruikt, trekt diagrammen met SYSML of UML-2 regels en maakt finites stelt machines zoals een mix van Moore/Mealy.

Ik heb 3 "echte" voorbeelden van statusmachine te verkennen allermeest naar de mogelijkheden van de bibliotheek SM.h geïmplementeerd.

PS: Deze methode is geschikt, gemeenschappelijk en goed-gekend voor mensen die werkzaam zijn in de automatisering, vele computer ontwikkelaar niet bevalt. Zie dit artikel:

http://www.skorks.com/2011/09/Why-developers-Never...

Gerelateerde Artikelen

Staat van de machine en multitasking op arduino met SPI expanders

Staat van de machine en multitasking op arduino met SPI expanders

Vorige week vroeg ik een systeem aan pilot fireworks maken met een arduino. Het nodig ongeveer 64 uitgangen aan de branden. Een manier om het te doen is het gebruik van IC Expander. Dus 2 oplossingen zijn beschikbaar:-een I2C expander maar het omvorm
Arduino helikopterplatform voor mini Quad Copter

Arduino helikopterplatform voor mini Quad Copter

Gebruik deze helikopterplatform voor precisie landing opleiding of daag uw vrienden uit. Waarom niet instellen van een track en laat het Helipad tijd uw ronden?Als je dit instructable - gelieve stemming!Laten we eerlijk zijn - sinds je kreeg verslaaf
Arduino Run nauwkeurige vloeistof/poeder Dispenser systeem

Arduino Run nauwkeurige vloeistof/poeder Dispenser systeem

Doel: Maak iets te doen sommige meten voor u, of voor het koken of anderszins. Daarbij zal zij zowel vloeistoffen en poeders uit het zelfde Configuratiescherm. Een Arduino wordt gebruikt om het systeem te werken.Opmerking: Geen van ons (de ontwerpers
Arduino licht dimmer

Arduino licht dimmer

Un système qui imite les cycli du jour.Een systeem voor lichte simulatie dag met behulp van de RTC.Stap 1: InleidingCE-système va mensen d'imiter un lever de soleil (LV) et un coucher de soleil (CO), une fois par jour. Cet appareil est destiné surtou
Finite State Machine op een Arduino

Finite State Machine op een Arduino

Vandaag, zullen we een eindige toestandsmachine (FSM) uitvoeren op een Arduino. Dit kunt u systemen opzetten met een duidelijk omschreven gedrag op basis van verschillende Staten. U leert wat een eindig-statusmachine is en wat er goed voor.In een not
Sonic schroevendraaier stijl computerinterface

Sonic schroevendraaier stijl computerinterface

deze instructies zal het documenteren van de oprichting van een HCI-apparaat in de stijl van een sonische schroevendraaier.De belangrijkste componenten zijn twee RFD21733 transceivers en een Teensy 3.0.Een demonstratievideo van het werkende apparaat
Transfiguratie drukte: Controle

Transfiguratie drukte: Controle

Dit is het derde deel van onze Transfiguratie drukte van Amerika's grootste Makers wij eerst waren uitgeschakeld op de show, maar we altijd het gevoel de maker Gemeenschap zou waarderen onze inspanning en dacht dat ging in ons project.In tegenstellin
Eenvoudige zelfbalancerende Robot w / Galileo Gen 2

Eenvoudige zelfbalancerende Robot w / Galileo Gen 2

Na vrijwilligerswerk bij de lokale mini Maker Faire, en het krijgen van een kans om te spelen met de Intel Galileo Gen 2 Arduino board, was ik gemotiveerd om het vinden van een maker-project voor mezelf. Na een snel overzicht van de opties en mijn in
Automatisch afsluiten van draadloze muis (Prototype)

Automatisch afsluiten van draadloze muis (Prototype)

Disclaimer: Dit is een prototype en maakt uw draadloze muis "wired". Verder, afhankelijk van uw muis, kan het verliest zijn vermogen om te glijden over de tabel/mousepad.Voor onze laatste project in CPE 133 Digital Design op Cal Poly, The groep
BitRunner FPGA spel

BitRunner FPGA spel

Maak en speel uw eigen bits Runner Game. Geen console of vlezige computer vereist! Druk op de knop van de dodge binnenkomende hindernissen om te bereiken de hoogste score te ontwijken! Dit project is behoorlijk moeilijk, een uitdaging voor beginners,
Een eenvoudige hydrocultuur systeem met MediaTek LinkIt™ een

Een eenvoudige hydrocultuur systeem met MediaTek LinkIt™ een

Vandaag willen we een project op basis van het nieuwe bestuur Mediatek Linkit één beschrijven. Met dit board willen we een eenvoudig hydrocultuur systeem die kan realiseren:1) het maken van hydrocultuur voedingsstof oplossing:Dit zal worden gemaakt m
Cellulaire automaat ontwerp voor kruissteek iPhone Case

Cellulaire automaat ontwerp voor kruissteek iPhone Case

hier vindt u het ontwerp (en de broncode voor het) dat ik op voor mijn DIY iPhone 4 zaak besloot, zoals goed zoals sommige uiteinden en trucs op hoe te doen een schoon (en knoop-vrij!) naald-punt-project, dat ziet er cool ook.AchtergrondOngeveer een
Stap 8 FPGA Sequencer en Synthesizer

Stap 8 FPGA Sequencer en Synthesizer

In deze tutorial gaan we graag een stap 8 synthesizer voor onze FPGA-board. We zullen werken met de Digilient Nexys 2 board maar onze code kan worden gewijzigd voor andere boards. Dit project werd gebouwd door Tran van Lincoln en Joseph Coplon voor o
Obstakel vermijden spel

Obstakel vermijden spel

We waren voor deze toewijzing gegeven een Altera DE2-115 bord met een cycloon IV E FPGA en vertelde een project dat gebruik maakt van de hardware van de Raad van bestuur en de Verilog HDL-taal die we hebben geleerd in de klas maken. We dachten dat he