Arduino mega 2560 with Raspberry pie 2 project

本文关键字:pie project Raspberry with mega 2560 Arduino | 更新日期: 2023-09-27 18:35:39

我目前正在做一个项目,我需要控制 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 并清除值。

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

谢谢危险品

Arduino mega 2560 with Raspberry pie 2 project

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

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