Answers:
正如JohnC所说的那样,Firmata可能就是您想要的。Firmata是您加载到Arduino上的特殊草图。它具有一组命令,您可以通过Arduino的串行端口发送该命令以读取和写入Arduino的输入和输出。您可以使用一个处理库,以便编写用于直接控制Arduino的处理应用程序,以及用于台式计算机上运行的其他计算机语言的许多其他库(例如JohnC提到的VB .NET)。即使您没有库,也可以从知道如何与串行端口通信的任何语言发送命令(如Andrew提到的Max / Pd)
我喜欢Processing库,因为Processing是开源的,类似于Arduino。与Firmata的Arduino对话的处理草图看起来像:
import cc.arduino.*;
Arduino myArduino = new Arduino(this, "/dev/tty.usbserial", 57600);
myArduino.digitalWrite(ledPin, Arduino.HIGH);
delay(1000);
myArduino.digitalWrite(ledPin, Arduino.HIGH);
嘿,您熟悉Max / MSP(收费)和Pure Data(免费)吗?它们是图形编程环境。
如果您有兴趣测试它,我整理了一个教程进行设置:http : //www.soundplusdesign.com/?p=1305
干杯。
我同意其他答案,处理是一个很好的答案,因为它与Arduino环境非常相似。我自己使用Max Msp 5,我当然可以推荐它,您可以从cycling74网站-> http://cycling74.com/downloads/下载
您将获得完整版本以及运行时环境的30天免费试用版,它可在mac os和Windows上运行。它非常易于学习,它允许您在程序运行时进行编程!-不再编译!
您可以使用一个名为serial的对象与Arduino通讯,Max随附了方便的预制对象和GUI组件。
另外,您可以导出独立的应用程序,也可以以文本格式共享它们。
吉姆
对于那些对Firmata的sysex有问题并希望轻松访问sysex的人:
尝试http://connect.mind-craft.net/arduino-firmata-vb-class-将“ storedInputData”变量更改为public并使用它,例如:
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
使用EchoString.ino示例并阅读Wiki上的firmata协议,将自己的sysex命令添加到Arduino.vb