如何使用Processing将Arduinos串行输出存储到文本文件中?

时间:2017-12-11 18:38:03

标签: arduino processing android-sensors

我一直在尝试将数据(实时,气体传感器数据)存储到.txt文件中,以便制作图表。 这是我的arduino代码:

const int gasPin = A0; //Gas sensor output pin to Arduino analog A0 pin
void setup()
{
  Serial.begin(9600); //Initialize serial port - 9600 bps
}
void loop()
{
  Serial.println(analogRead(gasPin));
  delay(1000); // Print value every 1 sec.
}

这是我的处理代码:

import processing.serial.*;
Serial mySerial;
PrintWriter output;
void setup() {
  mySerial = new Serial(this, "COM3", 9600);
  output = createWriter( "data.txt" );
}
void draw() {
    if (mySerial.available() > 0 ) {
         String value = mySerial.readString();
         if ( value != null ) {
              output.println( value );
         }
    }
}    
void keyPressed() {
    output.flush(); 
    output.close();  
    exit(); 
}

这不起作用。我总是得到一个空的data.txt文件。

1 个答案:

答案 0 :(得分:0)

你应养成breaking your problem down into smaller steps的习惯,然后逐步采取这些步骤。

例如,您是否可以创建一个将值存储在文件中的简单示例草图?不要担心Arduino。只需在文件中存储单个值即可。

然后制作它,以便在文件中存储一堆值。也许从millis()或鼠标位置返回的值。再说一次,不要担心Arduino。在继续之前完成这项工作。

除此之外,您是否可以制作一个Arduino程序,将值发送到Processing sketch,只是将这些值打印到控制台?

当你将它们分开工作时,你可以将它们组合成一个程序。

现在,无法知道代码的哪一部分失败:它是Arduino代码吗?它是文件存储吗?因此,您需要隔离这些部分,以便我们(您)可以自己测试它们。

如果您仍然无法解决问题,请在新问题帖子中发布MCVE一步,我们就会从那里开始。祝你好运。