繁体   English   中英

如何从Arduino图形或与Arduino连接的处理软件中提取信息

[英]How can I extract information from Arduino graph.Or from the Processing software connected with Arduino

我正在使用AD8232心电图传感器,我需要PR间隔,OT间隔,R峰值等。我可以生成图形。 但是从图中,我需要这些参数以编程方式提取任何人都可以帮助我。

Arduino软件实际上部分基于处理-这就是开源项目的魅力。 打开草图后,第一步就是导入序列库。 转到草图->导入库->串行

现在,您应该看到类似于import processing.serial。*;的行。 在草图的顶部。 魔法! 在我们的import语句下面,我们需要声明一些全局变量。 所有这些意味着这些变量可以在草图中的任何位置使用。 将这两行添加到import语句下面:

Serial myPort;  // Create object from Serial class
String val;     // Data received from the serial port

为了侦听任何串行通信,我们必须获得一个Serial对象(我们将其称为myPort,但您可以随便使用它),它使我们可以在计算机的串行端口上侦听任何传入的数据。 我们还需要一个变量来接收传入的实际数据。在这种情况下,由于我们要从Arduino发送一个字符串(字符序列“ Hello,World!”),因此我们希望在处理中接收一个字符串。 就像Arduino具有setup()和loop()一样,Processing也具有setup()和draw()(而不是循环)。

对于Processing中的setup()方法,我们将找到Arduino连接到的串行端口,并设置Serial对象以侦听该端口。

void setup()
{
  String portName = Serial.list()[0]; //change the 0 to a 1 or 2 etc. to match your port
  myPort = new Serial(this, portName, 9600);
}

还记得我们如何在Arduino中设置Serial.begin(9600)吗? 好吧,如果我们不想要我在说的那个笨蛋,最好也将9600作为最后一个参数放在Processing中的Serial对象中。 这样,Arduino和处理以相同的速率进行通信。 欢乐时光!

在我们的draw()循环中,我们将监听串行端口,然后得到一些东西,将其粘贴到val变量中,然后将其打印到控制台(Processing草图底部的黑色区域)。

void draw()
{
  if ( myPort.available() > 0) 
  {  // If data is available,
  val = myPort.readStringUntil('\n');         // read it and store it in val
  } 
println(val); //print it out in the console
}

当当! 如果单击“运行”按钮(并且Arduino已插入上一页中的代码,则将弹出一个小窗口,几秒钟后,您将看到“ Hello,World!”)。 出现在处理控制台中。 一遍又一遍,很棒! 我们现在已经征服了如何将数据从Arduino发送到Processing。 我们的下一步是弄清楚如何采取相反的方式-从Processing向Arduino发送数据。

暂无
暂无

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

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