Working with the Arduino is pretty much fun, but when it comes that you need a easy to use interface on your computer to control the arduino, there are not so many examples available on the net. I needed a windows-application that can set up some variables and send them to the arduino board which will then in return send data to the application of different measurements. I spent a lot of time researching easy and intuitive solutions, beside the "typical" arduino-processing combination. Processing is quite nice for visualization, but when it comes to a user-interface, there are better ways than doing this inside of processing.

 

So why don't realize this with the help of java? Oh no, please no java-gui! Personally, I don't like the look & feel of the SWING-GUI and my last experience with this library is not the best. Besides, I will have to use some DLL files, which I don't want to hastle with. So finally, I decided to use delphi again, because it's straigt forward to build easy and small applications. The biggest problem was to find a free component which enables my 2005 PE Version of delphi to communicate via the serial port. After a lot of research, I finally found Synapse, a freely available component for Delphi.

 

With the help of Synapse, I can now set up some values inside my windows program and send them to my arduino board. Once the data is received, it deactivates its setup mode and starts measuring the inputs. Whenever it successfully collected data, it sends the data via the serial interface to my application, which will list the occurence inside a table, which can be exported to excel.

 

The solution is working as designed, the only problem so far is, that the component seems to have some kind of strange error. The first time the arduino is connected to the computer, you have to start hyper-terminal, the arduino serial interface or some other program which accesses the serial port. I don't know why this is needed, but the component seems to have problem, setting the correct bits and speed of the interface which leads to strange responses from the board. I sniffed some data from the handshake communication, but I could not solve that nasty issue.

 

As a conclusion, I can recommend using delphi as a easy to use windows-interface tool for controlling the arduino-board from within an application.