将数据从Arduino发送到Excel(并绘制它)

344,531.

852.

70

介绍: Sending Data From Arduino to Excel (and Plotting It)

我已经广泛搜索了我可以实时绘制我的Arduino传感器读数的方式。不仅是绘图,还可以显示和存储数据以获得进一步的实验和校正。

The simplest solution I’ve found was to use excel, but with a twist.

这里可以在此处找到不需要Excel的程序

//www.smiletrl.com/id/Plot-Live-Arduino-Data-and-Save-It-to-Excel/

此外,如果您发现这种可指示的有趣,也许你会喜欢我所做的另一个(关于在诺基亚5110 LCD上显示Live Arduino传感器读数):

//www.smiletrl.com/id/Arduinonokia-lcd-...

Step 1: What You'll Need

为此,您需要:

-Windows(在XP上测试)

-Arduino ide.

-microsoft办公室(2010年测试)

-plx-daq(Excel扩展)

-Arduino(在uno上测试,但任何董事会应该工作)

我假设你已经有了Arduino,Windows,Arduino IDE和Excel。以下是下载PLX-DAQ的链接:

https://www.parallax.com/downloads/plx-daq

You only need to download and install it, it should work fine. After installation, it will automatically create a folder named PLX-DAQ on your Desktop in which you will find a shortcut named PLX-DAQ Spreadsheet.

When you want to use your Arduino to send data to excel, just open up the shortcut.

第2步:Arduino部分

现在我们已经完成了所有下载和安装的所有内容,让我们从Arduino部分开始。

Here’s a basic template I created that will display the time in column A and your sensor measurements in column B.

当然,这只是一个基本的模板,它非常直接,您可以调整它以满足您的需求。

我在Arduino代码中添加了解释,所以你(和我在不使用它之后)知道代码的哪一部分是什么。

Here’s the sketch:

//always starts in line 0 and writes the thing written next to LABEL

void setup(){

Serial.begin(9600); // the bigger number the better

serial.println(“cleardata”);//clears up any data left from previous projects

Serial.println("LABEL,Acolumn,Bcolumn,..."); //always write LABEL, so excel knows the next things will be the names of the columns (instead of Acolumn you could write Time for instance)

Serial.println("RESETTIMER"); //resets timer to 0

}

void loop(){

Serial.print("DATA,TIME,TIMER,"); //writes the time in the first column A and the time since the measurements started in column B

serial.print(adata);

serial.print(bdata);

Serial.println(...); //be sure to add println to the last command so it knows to go into the next row on the second run

延迟(100);//添加延迟

}

Obviously if you upload this code, it won’t work on it’s own!

您需要添加Adata,BDATA和...的公式。此模板仅供参考,以便您知道如何使用该程序。只需添加Serial.read()函数,将其命名为ADATA,BDATA和......它应该工作。

第3步:将数据发送到Excel

当然,PLX-DAQ有更多功能,您可以通过阅读您下载的RAR文件夹中的说明来探索您自己的功能。

如果您希望Excel缩写您的数据,但不能打扰阅读说明,这是您可以做的简短版本:

-use the (modified) code from my instructable

-connect your Arduino as you normally would

- 不要在Arduino IDE中打开串行监视器,如果您这样做,它将无法使用Excel

-open到PLX-DAQ电子表格的快捷方式

-excel will say “This application is about to initialize ActiveX…”, just click OK

- 将出现为Excel的数据采集命名的新窗口

- 选择USB端口您的Arduino已连接到(如果它不开始,请通过端口列表)

- 它说波特,只需在Serial.Begin()中选择您在代码中放入的号码,在我的情况下为9600

-Create一个空的图形

-select which columns of data you want on the graph for the x and y axis (the way to do this is a little different depending on your version of excel, but it’s not too hard to figure out)

-click collect data on PLX-DAX and it should start collecting the data

-excel will plot the information as it gets sent from the Arduino to excel in real time

取决于你怎么精确的广域网t your graph to be, you can change the characteristics of the graph. You can closely examine a section of the graph by shutting down data collecting, right click on the x or y axis and set it to a smaller frame. (normally it’s set to automatic)

您还可以右键单击连接图表上点的曲线,然后选择曲线的颜色和厚度。

这是基础知识。我希望我通过写这件事来帮助你们少数人。我知道我花了很长时间才找到这个并让它工作。

P.S.
如果你喜欢这个指示,也许你会喜欢我所做的另一个://www.smiletrl.com/id/Arduinonokia-lcd-d...

如果您喜欢这种指示,请考虑访问我的Fundrazr页面这里。当然,分享。

10 People Made This Project!

Recommendations

  • Pi日速度挑战

    Pi日速度挑战
  • 垃圾到宝藏竞赛

    垃圾到宝藏竞赛
  • Microcontroller Contest

    Microcontroller Contest

70评论s

0
SOFIAD831.

Question6 weeks ago

I am using 115200 baude, is there a way I can add this as option for PLX-DAQ?
谢谢!:)

1
Msameer39.

1年前

非常好的兄弟。

1
fred1896

1年前

Hello all, just wanted to point out that if anyone is thinking of using this instructable but they realised that PLX-DAQ only supports older versions, there isanother version由其他人(我认为)与Windows 10等工作,虽然我邓诺真的'COZ论坛是在2015年写的(但是评论正在说些什么'Bout Windows 10,所以它遗嘱仍然有效)或者我仍然有效)实际上自己尝试了它,但我认为这可能是有用的......

0
你好agile

Question1年前on介绍

如果我们试图记录土壤的水分,这种方法是否有效?

0
Rometzner49.

3年前

不知道该怎么说......该应用程序不支持COM端口> 15,因此对于使用更高数字的Arduinos并不是很有用。我的esp32-dev使用COM33和115,200波特,其中都没有由PLX-DAQ支持。

0
加尔佐

Reply 2 years ago

您是否知道您可以在控制面板中更改设备的COM编号?也可以改变波特丽。

0
SAAEEDA

Question2年前

我如何收集来自200个探针的阅读,这个只有26个?

0
glj1946

Question2年前

PLX-DAQ抛出错误。我在Windows 10笔记本电脑上使用MS Office 2010。我在哪里获得计算机上丢失的对象?

Doesn't work. Win 10 and Excel 2010 doesn't recognize PLX-DAQ Spreadsheet

0
Seany27.

3年前

我需要帮助!我正在使用Arduino Yun Board和DS18B20数字温度计进行温度记录器。我是Arduino的新手,所以任何帮助都非常感谢。数据似乎没有转移到Excel文件,或者如果它,它会粘在第一行上。

#include

#include

//数据线插入Arduino上的引脚2

#define one_wire_bus 2

// Setup a oneWire instance to communicate with any OneWire devices

//(不仅仅是maxim / dallas温度Ics)

Onewire Onewire(One_wire_bus);

//通过我们的OneWire参考达拉斯温度。

DallasTemperature sensors(&oneWire);

void setup(void)

{

//启动串行端口

Serial.begin(9600);

serial.println(“cleardata”);

Serial.println("LABEL,Current Time,Temp");

sensors.begin();

}

void循环(空隙)

{

//调用vectors.requesttemperatures()发出全局温度

//请求公共汽车上的所有设备

serial.print(“数据,时间”);//捕获当地时间

在t TempVal = sensors.getTempCByIndex(0);

传感器.Requesttemperatures();//发送命令以获得温度

serial.print(“tempval”);

serial.print(“”);

// You can have more than one IC on the same bus.

// 0 refers to the first IC on the wire

延迟(1000);

}

1
Pedroa173

回复3年前

通过快速结账代码,我可以看到几乎没有好的想法。

代替

serial.print(“数据,时间”);

You should tipe

Serial.print("DATA,TIME,");

为了充分了解该逗号的含义,您应该读取PLX-DTQ。它很短,非常有用。

Then, instead of

serial.print(“tempval”);

serial.print(“”);

Just type:

serial.println(“tempval”);

Again, to understand that carriage return, refer to the PLX-DTQ helpfile.

0
adtu.

3年前

Im having issues in printing all the values in excel through my MPU6050.Please help.

0
redux490

3年前

你好,

我试图获得第二块数据来阅读它,但由于某种原因,我只能看到温度。

Is there something I am missing?

Thank you in advance

0
Micle84.

3年前

Has any one created code to send data from Arduino to Numbers (Mac version of excel)?

0
Sekramer10.

3年前

Is it possible to use the SET and GET commands with an Arduino variable for an arbitrary excel address? For example:

serial.println(“cell,get,fromeheet,任何表,c,9”);

会是这样的:

Serial.println("CELL, GET, FROMHEET, AnySheet, ExcelColumn, ExcelRow”);

?

0
glitter_country

3年前

Excel(2016)将在连接后不久停止工作。我该怎么办?

0
FitriF6

4年前

我可以用Windows 10使用它吗?我真的需要它..胡湖

0
ranenm.

回复3年前

嗨,你有没有找到Windows 10的解决方案?