如何从与 Arduino 连接的处理软件中提取 Arduino graph.Or 的信息
How can I extract information from Arduino graph.Or from the Processing software connected with Arduino
我正在使用 AD8232 ECG 传感器,我需要 PR 间期、OT 间期、R 峰值等。我可以生成图表。但是从图中,我需要这些参数以编程方式提取任何人都可以帮助我。
Arduino 软件实际上部分基于 Processing——这就是开源项目的美妙之处。一旦我们有了一个打开的草图,我们的第一步就是导入串行库。转到 Sketch->Import Library->Serial
您现在应该会看到类似 import processing.serial.* 的行;在草图的顶部。魔法!在我们的 import 语句下面,我们需要声明一些全局变量。这意味着这些变量可以在我们的草图中的任何地方使用。在导入语句下面添加这两行:
Serial myPort; // Create object from Serial class
String val; // Data received from the serial port
为了监听任何串行通信,我们必须获得一个串行对象(我们称它为 myPort,但你可以随心所欲),它可以让我们在计算机上的串行端口上监听任何传入的数据。我们还需要一个变量来接收传入的实际数据。在这种情况下,由于我们要从 Arduino 发送一个字符串(字符序列“Hello, World!”),我们希望在处理中接收一个字符串。就像 Arduino 有 setup() 和 loop(),Processing 有 setup() 和 draw()(而不是循环)。
对于 Processing 中的 setup() 方法,我们将找到 Arduino 连接到的串行端口并设置我们的串行对象以侦听该端口。
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 和 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 已插入并加载了上一页的代码),你应该会看到一个 window 弹出窗口,一秒钟后,你应该会在 Processing 控制台中看到“Hello, World!”。结束 over.Excellent!我们现在已经掌握了如何将数据从 Arduino 发送到 Processing。我们的下一步是弄清楚如何走相反的路——将数据从 Processing 发送到 Arduino。
我正在使用 AD8232 ECG 传感器,我需要 PR 间期、OT 间期、R 峰值等。我可以生成图表。但是从图中,我需要这些参数以编程方式提取任何人都可以帮助我。
Arduino 软件实际上部分基于 Processing——这就是开源项目的美妙之处。一旦我们有了一个打开的草图,我们的第一步就是导入串行库。转到 Sketch->Import Library->Serial
您现在应该会看到类似 import processing.serial.* 的行;在草图的顶部。魔法!在我们的 import 语句下面,我们需要声明一些全局变量。这意味着这些变量可以在我们的草图中的任何地方使用。在导入语句下面添加这两行:
Serial myPort; // Create object from Serial class
String val; // Data received from the serial port
为了监听任何串行通信,我们必须获得一个串行对象(我们称它为 myPort,但你可以随心所欲),它可以让我们在计算机上的串行端口上监听任何传入的数据。我们还需要一个变量来接收传入的实际数据。在这种情况下,由于我们要从 Arduino 发送一个字符串(字符序列“Hello, World!”),我们希望在处理中接收一个字符串。就像 Arduino 有 setup() 和 loop(),Processing 有 setup() 和 draw()(而不是循环)。
对于 Processing 中的 setup() 方法,我们将找到 Arduino 连接到的串行端口并设置我们的串行对象以侦听该端口。
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 和 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 已插入并加载了上一页的代码),你应该会看到一个 window 弹出窗口,一秒钟后,你应该会在 Processing 控制台中看到“Hello, World!”。结束 over.Excellent!我们现在已经掌握了如何将数据从 Arduino 发送到 Processing。我们的下一步是弄清楚如何走相反的路——将数据从 Processing 发送到 Arduino。