0

我正在使用带有 Arduino Uno 的 Olimex EKG Shield。

void setup() {
  // put your setup code here, to run once:
  // initialize serial communication at 9600 bits per second:
  Serial.begin(115200);

}

void loop() {
  // put your main code here, to run repeatedly:
  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
  float value = sensorValue * (5.0 / 1023.0);
  // print out the value you read:
  Serial.println(value);

}

使用此处提供的此代码,我得到一个 0-5V 的电压值。由于它是一个循环,因此数据会一直显示在串行监视器中,直到断开连接。

所以,我想要做的是测量 ECG 一段时间(比如 5 分钟)或数据点(比如一百万个点),然后将这些数据保存到 .txt 文件中。

 //From Arduino to Processing to Txt or cvs etc.
//import
import processing.serial.*;
//declare
PrintWriter output;
Serial udSerial;

void setup() {
  udSerial = new Serial(this, Serial.list()[0], 115200);
  output = createWriter ("data.txt");
}

  void draw() {
    if (udSerial.available() > 0) {
      String SenVal = udSerial.readString();
      if (SenVal != null) {
        output.println(SenVal);
      }
    }
  }

  void keyPressed(){
    output.flush();
    output.close();
    exit(); 
  }

我发现这个处理代码从 Arduino 串行监视器导入数据并保存为 .txt 文件,但它以某种方式不起作用。

我想我需要对 Arduino 端和处理端的代码进行一些更改。

如果有人可以帮助我,我将不胜感激。

谢谢你。

4

1 回答 1

0

你需要比说“它不起作用”更具体——我们不知道这意味着什么。您到底希望这段代码做什么?它到底做了什么?

您还需要将其分解为更小的问题

  • 你能创建一个简单的示例程序,简单地将值发送到处理吗?现在只需将它们打印到控制台。
  • 您可以创建一个单独的示例程序,将值存储在文本文件中吗?现在只需使用硬编码值或随机值 - 不用担心 arduino。

当你让这两个都完美运行时,你可以考虑将它们组合到一个程序中:从 arduino 发送值并将这些值保存到文本文件中。

您不能只是“找到代码”并期望它能够工作。你必须分解你的问题,然后自己处理每个单独的步骤。然后,如果您在某个特定步骤上遇到困难,您可以发布MCVE,我们可以从那里开始。祝你好运。

于 2017-03-03T02:31:32.717 回答