我有一款 Arduino Duemilanove USB。我只是将一个单独的LED连接到了其中一个端口上。我想使用C#来控制这个LED。是否有一个简单的示例可以做到这一点?我只需要最基本的开/关代码。
另外,我知道有一些用于.NET与Arduino通信的库。我找到的所有库都使用Firmata,但我无法让Firmata库与我的Arduino正常工作,所以我正在寻找一个使用原始串行命令的简单示例。
另外,我知道有一些用于.NET与Arduino通信的库。我找到的所有库都使用Firmata,但我无法让Firmata库与我的Arduino正常工作,所以我正在寻找一个使用原始串行命令的简单示例。
尝试将波特率设置为57600,而不是默认的115200,这样就可以希望使用Duemilanove使Firmata正常工作。老实说,我仍在努力研究Python的Firmata库,以了解它如何使用协议,以便在一个不仅仅使用Arduino作为接口的项目中使用直接串行通信。
与此同时,这个方法可以让Firmata正常工作(最简单的方法)。
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将关闭。