繁体   English   中英

具有Raspberry pie 2项目的Arduino Mega 2560

[英]Arduino mega 2560 with Raspberry pie 2 project

我目前在一个项目中,需要控制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.availble() Serial.read()

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

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

谢谢DG

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM