arduino - 使用arduino将数据保存到文本文件并进行处理

标签 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接收到aaaaaaaaa也是这样处理接收到的。 我该怎么做才能将其保存到文本文件中?有人可以修改我的代码吗?我对处理有点陌生。

另外,如果我收到的短信是:aaaaaaaaaa 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)”

最佳答案

在继续阅读之前,请确保您已成功将数据从 Arduino 读取到字符串值。您只需执行以下操作即可确认:

println(value);

上面的行会将String打印到PDE的命令行。如果您什么也没看到,则意味着您的 Arduino 没有提供任何数据。在这种情况下,您需要修复其他问题。

此外,为了确保上述操作不会受到任何其他因素的影响,请注释掉出现问题或执行任何文件 I/O 的行。

如果您确认正在接收来自 Arduino 的输入,请继续阅读。

您错误地使用了saveStrings()方法。根据此处的文档:http://www.processing.org/reference/saveStrings_.html您应该将字符串输入转换为数组,然后将其输入到方法中。

现在您有以下行:

String value = mySerial.readString();

之后添加以下内容:

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

以上内容直接来自文档,并将输入String在每个空格处分割并将其保存在数组中。之后,只需将数组传递到 saveStrings() 方法中,您就可以开始了,如下所示:

saveStrings("myTextFile.txt", valueArray);

根据文档,此“[w]将字符串数组写入文件,每个字符串一行”。

您收到的错误消息:

"The method saveString(String, String[]) in the type PApplet is not applicable for the argument (String, String) "

非常清楚地告诉您,您正在向 saveString() 方法提供两个 Strings (saveString(String, String)),而它所期望的是一个 String 和一个 String 数组 (saveString(String, String[]))。

关于arduino - 使用arduino将数据保存到文本文件并进行处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22467949/

相关文章:

visual-studio-code - 如何配置 Visual Studio Code 进行处理?

java - java处理3(2D)中更好的碰撞检测算法?

iphone - 使用 iPhone LCD 与 Arduino

java - 当物体撞击墙壁边缘时,如何根据其前进方向改变其方向?

c++ - 无法将在 Arduino 串行监视器中编写的内容保存为字符串/字符

android - 查找 read() 的 AndroidAccessory 文档

java - 通过电子邮件更新带有图片的状态。 (Java邮件)

java - 如何在 Java 中使用 PortAudio 绘制波形(带有处理功能的 jpab)?

c - Arduino 转义符\x

c++ - 如何将机器人移动一定距离并仍然管理传感器?