8
\$\begingroup\$

is there any software working on PC with a gui that can control the outputs and read the inputs of an arduino in realtime?

\$\endgroup\$
1
  • \$\begingroup\$ Cool but is there any project in Python ? \$\endgroup\$
    – mba7
    Dec 9, 2009 at 8:53

5 Answers 5

4
\$\begingroup\$

As JohnC says, Firmata is probably what you want. Firmata is a special sketch you load onto your Arduino. It has a set of commands you send it over the Arduino's serial port to read and write the Arduino's inputs and outputs. There's a Processing library that you can use so you can write Processing apps to directly control the Arduino, as well as many other libraries for other computer languages running on your desktop computer (like the VB .NET one JohnC mentions). Even if you don't have a library, you can send the commands from any language that knows how to talk to serial ports (like with Max/Pd as Andrew mentions)

I like the Processing library because Processing is open source and similar to Arduino. A Processing sketch talking to a Firmata'd Arduino looks something like:

import cc.arduino.*;
Arduino myArduino = new Arduino(this, "/dev/tty.usbserial", 57600);
myArduino.digitalWrite(ledPin, Arduino.HIGH);
delay(1000);
myArduino.digitalWrite(ledPin, Arduino.HIGH);
\$\endgroup\$
1
  • 1
    \$\begingroup\$ Firmata can also be used to control and Arduino from other software as well all you need to do is open up a serial port(though processing is probably the easiest) \$\endgroup\$
    – zklapow
    Dec 8, 2009 at 1:18
3
\$\begingroup\$

I've not tried this but there are several links on the web to control/read Arduino from PC. They mostly seem to use Firmata on the Arduino.

Arduino <> Firmata <> Visual Basic .NET

Firmata main site

\$\endgroup\$
1
\$\begingroup\$

Hey, are you are familiar with Max/MSP (paid) and Pure Data (free)? They are graphical programming environments.

I put together a tutorial to set it up if you're interested in testing it: http://www.soundplusdesign.com/?p=1305

Cheers.

\$\endgroup\$
0
\$\begingroup\$

I'd agree with the other answers, Processing is a good one because it's so similar to the Arduino environment. I use Max Msp 5 myself, and I can certainly recommend it, you can download it from the cycling74 website -> http://cycling74.com/downloads/

You get a free 30 day trial of the full version plus the runtime environment, it works on both mac os and windows. It's super easy to learn, and it allows you to program whilst your program is running! - no more compiling!

You can use an object called serial to talk with the Arduino, and Max comes packed with handy pre made objects and GUI components.

Plus you can then export stand alone applications, or you can share them in text format.

Jim.

\$\endgroup\$
0
\$\begingroup\$

For those who have problems with Firmata's sysex and want to acess sysex comands easily:

Try http://connect.mind-craft.net/arduino-firmata-vb-class - change "storedInputData" variable to public and use it, e.g.:

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button5.Click
arduino1.StartSysex()
arduino1.mycommand1(20, 1)
arduino1.EndSysex()
Thread.Sleep(100) 'Delay less than a second
arduino1.processInput()
TextBox1.Text = arduino1.storedInputData(1)
End Sub

use EchoString.ino example and read firmata protocol on wiki to add your own sysex command to Arduino.vb

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.