The " Arduino Finite State Machine" is a software environment for the development of controls based on a MEGA 2560. Applications are made by vMicro (sketches) and Visual Basic (scada), both in Visual studio. Controls can be made based on the principles of a finite state machine. The site contains some theory about FSM, the tutorial, downloadable examples and some videos.
Highlights for the Arduino Finite State Machine:
- 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 scada application
- The PC debug program presents some basic information of the board, free RAM, time on the board, and FSM cycle time
Main goal for the standard FSM environment:
- Keep everything simple and focus on functionality; build and test a control the easy way!
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 is needed. Enjoy this site and feel free to contact me.
Wytgaard, the Netherlands