Arduino系列绘图仪是一个超级方便的工具,只要你知道它如何工作和何时使用它的基础!串行绘图仪将数据发送到串行监视器并将其绘制在图形上。它甚至可以将多个数据源合并成一组重叠的图。对于需要捕获和表示随时间变化的值(如温度或湿度)的项目来说,它非常有用。

注1:使用串行绘图仪时,串行监视器不能打开。在试图打开串行绘图仪之前,请关闭串行监视器。

注2:要使用串行绘图仪,Arduino必须通过USB连接到您的PC或Mac。

打开串口绘图器:在Arduino IDE中,进入工具,然后点击系列绘图仪

Arduino串行绘图仪将打开。只要您的Arduino当前没有执行输出到串行控制台的草图,绘图仪就应该为空。

但现在是时候做点什么了!让我们给绘图仪发送一些数据!

Arduino系列绘图仪/单图

让我们从一个数据集开始。很简单的东西。我们将创建一个从10到10的草图(所以从1到10,然后从10到1),然后看看在串行绘图仪中是什么样子!

在IDE中输入以下代码,并将其发送到您的Arduino:

Int mynum = 0;void setup(){//把安装代码放在这里,运行一次:Serial.begin(9600);} void loop(){//把你的主代码放在这里,重复运行:mynum < 9;mynum + +){以(mynum);} for (mynum = 9;mynum > = 0;mynum——){以(mynum);}延迟(10);}

一旦代码在Arduino上,打开Arduino串行绘图仪看!您应该在绘图仪上看到以下输出!这是一个从10数到10再从10数到10的图示。

这只是从串行端口来的常规数据的图形。关闭串行绘图仪并打开串行监视器(它们不能同时打开)。你会看到控制台上的数字飞过!绘图器只是查看相同数据的另一种方式。

现在让我们尝试另一种方法。让我们读取Arduino上一个模拟引脚的输出并绘制图形,不附加任何东西。在IDE中输入以下代码并将其发送到您的Arduino:

void setup() {Serial.begin(9600);} void loop() {int myanalogpin0 = analogRead(A0);以myanalogpin0);延迟(100);}

然后打开Arduino串行绘图仪。您应该会看到如下输出。实际移动桌子上的Arduino。你会注意到,只要你处理它,就会改变绘图仪上的读数!你们可以在我的图表上看到我拿起Arduino并移动它。这只是空气中的游离静电影响读数。

Arduino系列绘图仪/双图

为了在绘图仪上绘制多个数据点,我们需要做更多的工作,但说实话,没有那么多!

我们需要识别输出中的数据点,以便Arduino串行绘图仪可以将它们分开。为此,我们将在输出的每个数字之间添加空格。要做到这一点,我们需要使用并同时()函数的前两个数据点,因为它在输出的末尾不发送换行符。我们将使用的最后一个数据点以()像往常一样。

在IDE中输入以下代码并发送到您的Arduino。这将根据简单的公式绘制三种不同的正弦波。

void setup() {Serial.begin(9600);} void loop() {for(int myctr = 0;myctr < 360;myctr += 5) {float y1 = 1 * sin(myctr * M_PI / 180);y2 = 2 * sin((myctr + 90)* M_PI / 180);y3 = 5 * sin((myctr + 180)* M_PI / 180);并同时y1);//打印值1打印(" ");//用空格分隔值//打印值2打印(" "); // seperate the values with a space Serial.println(y3); // print value 3 with a newline (println) delay(100); } }

大约一分钟后的输出应该是这样的:

你应该调整公式中的数字,看看这些数字如何改变正弦波!

下一个步骤

现在,您已经了解了关于Arduino串行绘图仪的所有内容,应该采取以下步骤来学习更多内容!