首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino mega 2560与覆盆子派2项目

问Arduino mega 2560与覆盆子派2项目
EN

Stack Overflow用户
提问于 2016-02-22 17:07:33
回答 1查看 108关注 0票数 1

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

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

  1. 这个是可能的吗?
  2. 是否可以使用Serialevent1().serialevent21()?或者使用Serial.availble()和Serial.read()
  3. 而不是一次读一个按钮,点击UI。是否可以收集UI上的输入并将其作为一个组发送给arduino。然后重新启动UI并清除值。

任何信息和/或建议都会有帮助!我只需要被指引到正确的方向!

谢谢DG

EN

回答 1

Stack Overflow用户

发布于 2016-02-22 18:11:30

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

  1. 是的
  2. 上面的文章使用了类似于Serial.print和readSerialInputCommand的Serial.read。如果您愿意,可以使用Serial.Read,因为它执行相同的任务,并返回不同的数据类型。
  3. 可以将这些值编译成一个组。如果您想要进行超级优化,您可以使用按位操作,并将前21个引脚值编译成一个字节数组并发送。然而,由于它只有21个数字引脚,我建议只使用字符串中的每个字符链接到一个引脚。例如:"10110“可以设定pin0,pin2,pin3高,pin1,pin5低。我建议不要重新启动你的UI,因为它需要重新连接到串口。相反,只需使用代码清除所有值。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35559614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档