使用arduino和处理将数据保存到文本文件

时间:2014-03-18 00:10:22

标签: arduino processing

我想使用处理将arduino上连续接收的数据保存到文本文件中。 现在我的代码用于处理如下所示。

import processing.serial.*;
Serial myPort;
int val;
void setup()
{
myPort = new Serial (this, "COM3", 1200);

}   

void draw()
{
if ( myPort.available() > 0)
{
val = myPort.read();
print((char)val);
}
}

arduino收到了aaaaaaaa,并且也通过这样的处理收到了。 如何将其保存到文本文件中?有人可以修改我的代码吗?我对处理有点新意。

另外,如果我收到的文字是:aaaaaaaaa                                  bbbbbbbbbb

那么如何将新段落保存为文本文件中的新段落?

所有帮助表示赞赏。 谢谢!

跟进:

import processing.serial.*;
Serial mySerial;
//import java.text.*;
//import java.util.*;
PrintWriter output;  
String[] list;
void setup() {
size(720,700);
background(255);
mySerial = new Serial( this, "COM3", 1200 );
output = createWriter("test5.txt");
}
void draw() {
if (mySerial.available() > 0 ) {
     String value = mySerial.readString();
     if ( value != null ) {
        fill(50);
        text(value,10,10,700,700);
        output.println(value);
      saveStrings("test5.txt", value);
     }
  } 
}

//void keyPressed() {
//output.flush(); // Writes the remaining data to the file
//output.close(); // Finishes the file
//exit(); // Stops the program
//}

我尝试使用此代码将数据保存到文本文件中并出现错误,表示" PApplet类型中的方法saveString(String,String [])不适用于参数(String,String)& #34;

1 个答案:

答案 0 :(得分:2)

在阅读之前,请确保您已成功将Arduino中的数据读入String value。您只需执行以下操作即可确认:

println(value);

以上行将String打印到PDE的命令行。如果你什么也看不见,这意味着你的Arduino没有通过任何东西喂食。在这种情况下,你需要修复其他事情。

此外,为了确保上述工作没有任何其他因素妨碍,请注释掉存在问题或执行任何文件I / O的行。

如果您已确认收到Arduino的输入,请继续阅读。

您正在错误地使用方法saveStrings()。根据此处的文档:http://www.processing.org/reference/saveStrings_.html您应该将String输入转换为数组,然后将其提供给方法。

现在你有以下一行:

String value = mySerial.readString();

之后添加以下内容:

String[] valueArray = split(value, ' ');

以上内容直接来自文档,并在每个空格处分割输入String并将其保存在数组中。在此之后,只需将数组传递给saveStrings()方法,您应该好好去,如下:

saveStrings("myTextFile.txt", valueArray);

从文档中,这个“[W]将一个字符串数组命名为一个文件,每个字符串一行”。

您收到的错误消息:

  

“PApplet类型中的方法saveString(String,String [])不是   适用于参数(String,String)“

非常清楚地告诉您,您正在提供saveString()方法二StringssaveString(String, String)),而它期望的是StringString数组( saveString(String, String[]))。