Windows Gui for arduino

Hallo

I want to make a program for windows 7 where i can read some values and change some variables on an arduino over usb.

I have no experience with this, so I would hear you what you would suggest is the best way to do it.

I have nothing against learning something new.

/ Bruno

There are functions within the arduino libraries that will allow you to get serial information quite easily

Converting that information to a windows GUI is not really an arduino question though.
There may be apps that do this for you but i do not have any pointers available.
There are online android apps that will interact with arduino though.

Your app will probably communicate with the Arduino via serial. How that will work depends on what programming language you decide to write your windows app with.

Delta_G:
Your app will probably communicate with the Arduino via serial. How that will work depends on what programming language you decide to write your windows app with.

Yes, any good advice for which to choose?

If I have to learn something new, I might as well start with the right one :smiley:

I like Python for beginners. It's often a little easier to deal with. There are myriad languages. The "right one" is the one you can use and understand.

Okay. i will take a look on Python then :smiley: thanks

This Python GUI demo may be of interest. I think it will work on Windows if you make a few changes. It's a long time since I wrote it. There is also a non-GUI Python - Arduino demo

More recently I have been making my GUIs so they are viewed in a browser. I find it much easier to create screens with HTML and CSS. I use the Python Bottle web framework to create the server that produces the GUI stuff and works with Python code to talk to the Arduino.

Of course Windows has Visual Basic and Visual C# which make the GUI stuff easy if you are content with a Windows-only program - but it is a long time since I was familiar with Windows.

The same principles apply for communicating with the Arduino whatever language you use.

...R
Serial Input Basics

Robin2:
More recently I have been making my GUIs so they are viewed in a browser. I find it much easier to create screens with HTML and CSS. I use the Python Bottle web framework to create the server that produces the GUI stuff and works with Python code to talk to the Arduino.

Having done a little bit of web design long long ago, i have to ask if you ever run into browser compatibility issues. Like something that works on chrome but crashes on firefox or something like that. That's always been my fear of doing anything in a browser window.

I will add to the discussion that I long ago abandoned Python for anything GUI related unless it was basic basic basic stuff. Just found it impossible to work with TKinter. If my GUI is going to be very advanced I go with Java. I know I'm probably in the minority here, but I've found it much easier to work with Swing.

Delta_G:
Having done a little bit of web design long long ago, i have to ask if you ever run into browser compatibility issues.

I only use Firefox :slight_smile:

I try to avoid things that are specific to particular browsers. And, to be honest, my web pages are very simple.

The guy who invented CSS deserves a medal.

...R

I would recommend the language called Processing to write your code in. It is Java like which means it has the familiar C syntax.

Just found it impossible to work with TKinter.

Really? I've only done one thing with it, but I was surprised at how easily it went together...

westfw:
Really? I've only done one thing with it, but I was surprised at how easily it went together...

I could never get my layouts to act right, especially when resizing a window. It may just be a documentation thing though. I realize that I am probably in the minority here, but I just love pages like this. I can get most of what I need from right there. Most of the python documentation I found was a bit more friendly, but didn't have that "je ne sais pas" that I like about the standard java API docs. Once I figured out how to use layout managers in java I never looked back.

And now I wish I had because I have a project going now that is definitely going to be Python because I'm not rewriting all the control code, but now it needs a GUI added. Ask me again in a few months and I may have a different opinion.

I gave up TKInter (and Java Swing with JRuby) in favour of a HTML-based GUI. Take 60 or 90 minutes to play with the Python Bottle web framework and I think you will find it rewarding.

...R

Grumpy_Mike:
I would recommend the language called Processing to write your code in. It is Java like which means it has the familiar C syntax.

Processing is an IDE and programming system for Java,
just like Ardunio is for C++.

There is no Processing language.

+1 for the recommendation of Processing.

Like arduino, processing has a bunch of built-in libraries that make it pretty easy to do common things...

Here's the simplest way to do this.
You can just make a GUI to control the LED on the arduino at first. Basicly, that's the knowledge about sending data from the GUI on computer to the Arduino. And you can then try to send the data from Arduino, and Let your GUI to receive and show the data in the similar way!
See this tutorial, it will tell you how to build the GUI to control the LED.

And you can also see the Serial Communication post here to learn how to send data from the Arduino to PC.