Arduino 串口绘图仪(Serial Plotter)的使用
Arduino IDE 2 串口绘图仪(Serial Plotter)
串口绘图仪的规则串口绘图仪实际上是从预设的串口获取值并将其绘制在xy轴图。X轴可以说是一个时间实例,被等分成500份,每获取到一组数据向左滑动一个单位,读取数据的速度起快,滑动就越快。 Y轴代表来自串口的值,可以是单个也可以是一组 。在读取串口数据时遇到" "(换行或通过Serial.println(“”))则表示切换到下一行数据,同行数据的不同组的数据通过(,)间隔,像下面的形式。
100, 200, 300100, 200, 300100, 200, 300100,200, 300可以考虑成一个二维数组。这个输出在绘图仪中可以绘制出三条线。
## 显示多条曲线在代码中实现一行数据的拼结
方法一先拼结数据,一次打印。
String temp = "";temp.concat(a);temp.concat(",");temp.concat(b);Serial.println(temp); 方法二直接打印,数据间隔使用逗号(,),最后使用println打印数据。
Serial.print(a);Serial.print(",");Serial.println(b); 方法三封装函数,假设现在只打印整型(int)。
void plotterPrint(int val, boolen isEnd = false) {Serial.print(val);if (isEnd) }{Serial.println("");} else {Serial.print(",")}} ## 调试 打印直线打印三条直线
void setup() { // put your setup code here, to run once: Serial.begin(115200);}void print_1() { Serial.print(100);}void print_2() { Serial.print(200);}void print_3() { Serial.print(300); }void loop() { // put your main code here, to run repeatedly: print_1(); Serial.print(","); print_2(); Serial.print(","); print_3(); Serial.print(" "); // Serial.println(""); delay(100);} 画线的速度能过delay()来控制;Serial.println()最好放在loop的最后;如果两个Serial.print()之间不添加逗号(,),绘图仪上会出现一个两个数直接拼结起来的数据。 打印三角函数 double divVal = 0.0;void setup() { // put your setup code here, to run once: Serial.begin(115200);}void print_1() { Serial.print(10 + cos(divVal));}void print_2() { Serial.print(20 + sin(divVal));}void print_3() { Serial.print(30 + cos(divVal + PI)); }void loop() { // put your main code here, to run repeatedly: print_1(); Serial.print(","); print_2(); Serial.print(","); print_3(); Serial.print(" "); divVal += 2 * PI / 16.0; delay(100);}