我有一个 arduino 草图,它接收来自 3 个电位器的模拟数据写入外部 EEPROM。当我读回数据时,我会打印出地址号和模拟值,以便在串行监视器中得到如下信息:
0:221
1:548
2:1023
3:221
4:548
5:1023
6:221
7:548
8:1023
ETC
我最终需要使用我在处理草图中得到的数字,所以我想在 python/处理中编写一些代码,分别对每个电位器的数据进行排序,以便我以后可以轻松地将其传输到处理草图。
任何帮助将不胜感激,我是初学者。
我有一个 arduino 草图,它接收来自 3 个电位器的模拟数据写入外部 EEPROM。当我读回数据时,我会打印出地址号和模拟值,以便在串行监视器中得到如下信息:
0:221
1:548
2:1023
3:221
4:548
5:1023
6:221
7:548
8:1023
ETC
我最终需要使用我在处理草图中得到的数字,所以我想在 python/处理中编写一些代码,分别对每个电位器的数据进行排序,以便我以后可以轻松地将其传输到处理草图。
任何帮助将不胜感激,我是初学者。
我一直在做类似的事情,使用处理。
对我有用的是将每组数据放入一个数组中,然后使用 saveStrings() 将数组保存到一个文本文件中。然后,如果需要,我可以将其重新导入,或者在 Excel 中轻松绘制图表。
String inString = myPort.readStringUntil('\n');
if (inString != null) {
inString = trim(inString);
String[] split = split(inString, ',');
inFloat0 = float(split[0]);
inFloat1 = float(split[1]);
float pot0 = inFloat0;
pot0list = append(pot0list, pot0);
float pot1 = inFloat1;
pot1list = append(pot1list, pot1);
该代码用于串行字符串中的逗号分隔值,并带有指示数据字符串结尾的换行符。
//Create string for saving to text file
String[] pot0listString = new String[pot0list.length];
for (int i = 0; i < pot0list.length; i++) {
listString[i] = (Float.toString(pot0list[i]) + ',' + Float.toString(pot1list[i]));
}
//Save to text file
saveStrings("list.txt", listString);
那个会将其保存为文本文件,需要对 3 组数据进行一些修改,但它相当简单。
处理也有一个 sort.list 如果您也想使用它,它将对您的数据进行排序。
干杯,马特