I have little arduino experience as well as programming (vb and C) but do have the patience to read and learn to make my project a success... What I'm hoping to do is create a GUI to run on a PC which can control an arduino mega.
I'm an avid brewer and looking to make part of my brew day a little easier (automated) Nothing too fancy or elaborate at the start. Just want to have a few ds18b20 sensors send values to my GUI via serial and have it turn my gas burners on and off until a set temp is hit.
I've seen other sketches around for brewing but none with a GUI and control via serial...
I like C# for GUIs. Easy to build forms, and very easy to communicate with the serial port. The only challenging part is dealing with serial in one thread and the GUI in another thread.
I have a starter application that I can send you, if you are interested. PM me with an e-mail address.
I guess my next question would be if it's easier for the GUI to poll the arduino for pin/sensor values and then react or have the arduino in a loop sending pin/sensor values to the GUI, have it displaying them then reacting to those values?
Commander is a browser-based UI toolkit for Arduino applications. You can poll the arduino from a UI control, or push data asynchronously from the Arduino to the control panel. The arduino can be USB- or ethernet-connected.
It works with the Bitlash command interpreter for Arduino, but Bitlash is not required and it's easy to control your custom Arduino program over the serial port.
I guess my next question would be if it's easier for the GUI to poll the arduino for pin/sensor values and then react or have the arduino in a loop sending pin/sensor values to the GUI, have it displaying them then reacting to those values?
Is the Arduino to be in control, keeping the PC informed? Or is the PC in control, using the Arduino like a dumb peripheral?
I would prefer the arduino to be a dumb peripheral. GUI to show temperatures of my DS18B20's and then have my arduino mega switch relays to control my natural gas burners to reach an inputted temperature.