3

我有一个Arduino Duemilanove USB。我只有一个 LED 连接到它的单个端口。我想用 C# 来打开这个 LED。有没有一个简单的例子来说明如何做到这一点?我正在寻找的只是最基本的开/关代码。

附带说明一下,我知道有一些为 .NET 与 Arduino 通信而编写的库。我发现的那些都使用Firmata,我无法让 Firmata 库与我的 Arduino 一起工作,所以我正在寻找一个仅使用原始串行命令的简单示例。

4

5 回答 5

5

我认为与 Arduino 交互的 .NET 表单可以回答您的问题。

于 2009-08-30T00:42:48.983 回答
1

尝试将您的波特率设置为 57600 而不是默认的 115200,这有望让 Firmata 与您的 Duemilanove 一起工作。老实说,我仍在尝试通过 Python 的 Firmata 库来了解它是如何使用该协议的,这样我就可以在一个不会专门使用 Arduino 作为接口的项目中通过直接串行通信使用它。

然而,与此同时,这让 Firmata 工作(阻力最小的路径)。

于 2010-03-24T12:44:50.833 回答
0

Arduino的视频C#正是这样做的,这可能会有所帮助,并且它有可用的源代码。

于 2009-11-16T17:24:52.110 回答
0

在 PC 端,与 COM 端口通信非常简单。所有你需要的是:

System.IO.Ports.SerialPort port = new SerialPort("COM4"); //COM4 is my port. You can use yours.
port.Write(new byte[]{1},0,1);
port.Close();

然后在 Arduino 上:

    if (Serial.available() > 0)
    {
        val = Serial.read();
        if(val==1)
        {
            //LED ON
        }
        if(val==0)
        {
            //LED OFF
        }
    }

因此,当您向端口写入 1 时,LED 将亮起,如果为 0,则 LED 将关闭。

于 2011-04-08T19:36:13.040 回答
-2

我认为Firmata项目是您一直在寻找的。

Firmata是一种通用协议,用于通过主机上的软件与微控制器进行通信。它旨在与任何主机计算机软件包一起使用。现在有许多语言的匹配对象。为其他软件添加对象以使用此协议很容易。基本上,这个固件建立了一个协议,用于从主机软件与 Arduino 对话。目的是让人们通过主机上的软件完全控制 Arduino。

更多资源:

Firmata.Net 项目

用于 Visual C# .NET 的 Arduino/firmata 库

于 2009-12-10T13:03:45.253 回答