只是想说我一直在使用论坛来学习很多,所以感谢所有贡献者和堆栈溢出的支持者 .
我是一名刚接触处理/ arduino的学生,我正在尝试制作一个处理草图,该草图采用串行数据并在不同的图形上绘制多个传感器值,同时能够让用户将所有数据记录到CSV中 . 另外,我想知道如何制作一个更新并打印其中一个传感器值的简单文本框 .
我的arduino串行打印输出代码的一个非常基本的片段包括:
Serial.print(sensor1);
Serial.print(",");
Serial.print(sensor2);
Serial.print(",");
Serial.print(sensor3);
Serial.println(",");
//Sensor1 and 2, would be on separate graphs, and 3 would be a single printed value updated frequently.
为了处理我已经看到了非常基本的例子,并且想知道更简单/更好的事情:使用map函数做直接图或设置cgraph和cdata数组(在另一个例子中看到) . 最后,在使用创建编写器或文件写入器来保存数据时,有没有办法创建新文件而不是覆盖或附加数据?我可以使用if语句来获取用户输入文本以输入文件名以避免覆盖吗?
任何提示或帮助我都会很高兴 .
1 回答
你应该在最后发送一个新行字符:
一旦's done you can use Serial' s bufferUntil()为你跟踪每一行 . 然后在serialEvent()中,您可以简单地readString()在保存为CSV文件方面,您可以将每一行追加到ArrayList . (或者您可以使用典型的
String[]
但是当新行进入时您必须手动管理行索引和expand()数组.ArrayList可能更简单) . 每当您想保存CSV文件时,您都可以轻松地将ArrayList转换为String [],这是saveStrings()所期望的 . 在保存新文件方面,您只需创建一个时间戳字符串:如果您使用的是Windows,则可能需要签出SerialChart . 这是一个简单的基于Qt的简单UI,用于基于CSV格式的串行数据渲染图形 . 它还应该允许您保存数据,它也提供一些配置设置 .
Update 我最近注意到Arduino 1.6.6(或更新版)有built in Serial Plotter