The " Arduino Finite State Machine" is a software environment for the development of embedded systems. Applications are made by VisualMicro (sketches) and Visual Basic (scada), both in Visual studio. Controls are made based on the principles of a finite state machine. This site descibes some theory and offers the software for making controls based on the MEGA 2560 boards. Download the software for free.
- Keep everything simple and focus on functionality; build and test an embedded system the easy way!
Highlights of the Arduino Finite State Machine website:
- Some theory about Finite State Machines
- Easy way of declaring I/O points
- Digital I/O, analogue I/O, temperature measurement, ultrasonics and servo's are standard supported
- After the definition of the I/O, the information is direct available in both the serial monitor as on the PC
- After the definition of the I/O, the I/O can be monitored and controlled in the PC
- Many usefull functions for implementing a finite state machine
- The FSM supports multiple active states
- The communication between the board and the PC is made by pre-defined messages
- Every terminal program (TTY) can communicate with the board
- There are 2 different debug program versions for windows: Serial and Internet communication
- Communication between the board and the PC debug app with error correction
- Markers (no I/O attached) can be used for exchanging data between the board and the PC
- The debug PC program contains a tool for trending max 3 I/O signals on the screen
- With the debug program, the I/O can be writen to an access database
- Declaring I/O in the UserConfiguration.h file
- The actual finite state machine can be made in the UserFiniteStateMachine.h file
- The VBA standard program is very suitable for making your own HMI application
- The PC debug program presents some basic information of the board, free RAM, time on the board, and FSM cycle time
The site describes part of terms and techniques used in the automation of (industrial) controls based on Arduino/Visual Studio and can also be used for understanding some basic PLC and HMI techniques. I made it as a hobby for rainy days. Some knowledge of programming C++ for Arduino and Visual Basic/Visual Studio is needed. Enjoy this site and feel free to contact me.
Jelle Siemonsma
Wytgaard, the Netherlands