Go Down

Topic: Project Feasability (Read 592 times) previous topic - next topic

Hello all!

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...

Sounds feasible to me. Most GUI stuff is written in the Processing language from what I have seen around (see also here: http://arduino.cc/forum/index.php?topic=121596.0).

But if you google arduino+gui you will find people who done this in matlab or Qt. I have found another interesting post here: http://www.autoitscript.com/forum/topic/138727-arduino-gui-programmer/ It uses the AutoIt scripting language.

In the end it comes down to what software you are comfortable with and if the software can read/write serial data.

All the best

PaulS

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?

billroy

It might be worth taking a look at Bitlash Commander: http://github.com/billroy/bitlash-commander

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.


-br


PaulS

Quote
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.

GoForSmoke

This is way more than I needed in one thread but probably just what you want:

http://www.firmata.org/wiki/Main_Page

Nick Gammon on multitasking Arduinos:
1) http://gammon.com.au/blink
2) http://gammon.com.au/serial
3) http://gammon.com.au/interrupts

PaulS

Quote
This is way more than I needed in one thread but probably just what you want:

Not if OP is going to attach OneWire devices to the Arduino.

GoForSmoke

I didn't dig so deep once I saw it was way more than I needed.
If it's a matter of 1-wire only runs on pins that uses then I don't agree.
Nick Gammon on multitasking Arduinos:
1) http://gammon.com.au/blink
2) http://gammon.com.au/serial
3) http://gammon.com.au/interrupts


Quote
This is way more than I needed in one thread but probably just what you want:

Not if OP is going to attach OneWire devices to the Arduino.


Paul is right... my DS18B20 Temperature sensors don't seem to work with FIrmata for me. I'm sure Paul knows exactly why...

Go Up