Arduino mega 2560与Raspberry pie 2项目

时间:2016-02-22 17:07:34

标签: c# visual-studio arduino raspberry-pi2

我目前正在开展一个项目,我需要控制16个泵1个步进电机和2个距离传感器--21个数字引脚和2个模拟引脚。我需要创建一个UI,并使用UI将信息发送到Arduino,它将控制我的系统。我只需要从UI按下每个按钮接收1或0,以确定需要打开哪个泵。我正在使用Arduino mega 2560并在Visual Studio C#中编写UI。

我已经对Arduino的串行通信进行了各种研究,包括使用serialevent()函数和firmata库。但是我很难理解所有这些如何联系在一起,如果我想要做的甚至是可能的!以下是我的问题:

  1. 这可能吗?

  2. 使用Serialevent1() ........... serialevent21()可以实现吗?或使用Serial.availble()Serial.read()

  3. 不是一键阅读,而是一次点击UI。可以收集UI上的输入并将其作为一个组发送到arduino。然后重新启动UI并清除值。

  4. 任何信息和/或建议都会有所帮助!我只需指出正确的方向!

    由于 DG

1 个答案:

答案 0 :(得分:0)

您是否考虑过以下CEFSharp Developer Tools window? 它使用Arduino mega 2560,文章提供了c#代码和Arduino代码。 它通过串口进行通信,并在两个方向上发送数据。

  1. 是的,
  2. 上面的文章使用Serial.print和readSerialInputCommand,它类似于Serial.read。如果您愿意,可以使用Serial.Read,因为它执行相同的任务并返回不同的数据类型。
  3. 您可以将值编译到一个组中。如果要进行超级优化,可以使用逐位运算符,将前21个引脚值编译成字节数组并发送。 但是由于它只有21个数字引脚,我建议只使用一个字符串,字符串中的每个字符都链接到一个引脚。例如:" 10110"可以将pin0,pin2,pin3设置为HIGH并将pin1,pin5设置为LOW。 我建议不要重新启动UI,因为它需要重新连接到串口。而只是用你的代码清除所有值。