0

我有一个 arduino 草图,它接收来自 3 个电位器的模拟数据写入外部 EEPROM。当我读回数据时,我会打印出地址号和模拟值,以便在串行监视器中得到如下信息:

0:221

1:548

2:1023

3:221

4:548

5:1023

6:221

7:548

8:1023

ETC

我最终需要使用我在处理草图中得到的数字,所以我想在 python/处理中编写一些代码,分别对每个电位器的数据进行排序,以便我以后可以轻松地将其传输到处理草图。

任何帮助将不胜感激,我是初学者。

4

1 回答 1

0

我一直在做类似的事情,使用处理。

对我有用的是将每组数据放入一个数组中,然后使用 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 如果您也想使用它,它将对您的数据进行排序。

干杯,马特

于 2014-01-21T07:54:03.287 回答