【发布时间】:2018-08-26 10:00:47
【问题描述】:
我正在使用 AD8232 ECG 传感器,我需要 PR 间隔、OT 间隔、R 峰值等。我可以生成图表。但是从图中,我需要这些参数以编程方式提取任何人都可以帮助我。
【问题讨论】:
标签: graph arduino processing arduino-uno
我正在使用 AD8232 ECG 传感器,我需要 PR 间隔、OT 间隔、R 峰值等。我可以生成图表。但是从图中,我需要这些参数以编程方式提取任何人都可以帮助我。
【问题讨论】:
标签: graph arduino processing arduino-uno
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。
【讨论】: