【问题标题】:How can I extract information from Arduino graph.Or from the Processing software connected with Arduino如何从 Arduino 图形中提取信息。或从与 Arduino 连接的处理软件中提取信息
【发布时间】:2018-08-26 10:00:47
【问题描述】:

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

【问题讨论】:

    标签: graph arduino processing arduino-uno


    【解决方案1】:

    Arduino 软件实际上部分基于 Processing——这就是开源项目的魅力所在。一旦我们有一个打开的草图,我们的第一步就是导入串行库。转到 Sketch->Import Library->Serial

    您现在应该会看到类似 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) 吗?好吧,如果我们不想要我所说的那个 gobbledy-gook,我们最好将 9600 作为最后一个参数放在处理中的串行对象中。这样 Arduino 和 Processing 以相同的速率进行通信。快乐时光!

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

    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 已插入并加载了上一页上的代码),您应该会看到一个小窗口弹出,一秒钟后,您应该会看到“你好,世界!”出现在处理控制台中。一遍又一遍。太棒了!我们现在已经掌握了如何将数据从 Arduino 发送到 Processing。我们的下一步是弄清楚如何反其道而行之——将数据从 Processing 发送到 Arduino。

    【讨论】:

    • 欲了解更多信息,请查看此itp.nyu.edu/physcomp/labs/labs-serial-communication/…
    • 感谢您以一种很好的方式解释所有事情。但我已经做了所有这些事情。现在我有了图表,但是从图表中,我想以编程方式获得提到的值。你或任何人能告诉我一些关于这个的提示吗?提前致谢。
    猜你喜欢
    • 1970-01-01
    • 2022-11-01
    • 2011-02-28
    • 2019-08-31
    • 2011-09-25
    • 2023-03-28
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    相关资源
    最近更新 更多