Arduino数据输出到excel
来源:互联网 发布:ie3.0弹道优化 瞄头 编辑:程序博客网 时间:2024/05/16 04:10
在用MPU6050的时候想要把加速度和角速度的信息做成图表,但SerialChart只能实时的显示图形但貌似不能一个个导出来,我在网上找了一下发现没有特别好的输出到excel的方法,翻出去后看到一篇英文博客在讲用一个叫PLX-DAQ的软件来输出,我下下来用了而且成功了!操作非常简单,在这里记录一下。
首先下载PLX-DAQ(附件在最后),安装好后是一个文件夹,里面有一个叫做Spreadsheet的excel文件。注意一定要用office的excel打开,wps那个不行。进去后让加载什么X控件,加载它,之后就是这么个东西。
很明显,串口和波特率设为和arduino的一样,右边是重置时间和清空列表。
在arduino setup()函数里写下这些
Serial.print("DATA,TIME,TIMER,");
Serial.print(aax);Serial.print(",");
Serial.print(aaz);Serial.print(",");
Serial.print(ggx);Serial.print(",");
Serial.print(ggy);Serial.print(",");
Serial.println(ggz);
注意Label是必须的
在loop()函数中
Serial.print("DATA,TIME,TIMER,");
Serial.print(aax);Serial.print(",");
Serial.print(aaz);Serial.print(",");
Serial.print(ggx);Serial.print(",");
Serial.print(ggy);Serial.print(",");
Serial.println(ggz);
DATA也是必须的,Time是当前时间,Timer是从启动后开始算时间,从0开始
下面是MPU6050的示例
//设置偏移量
#define accX_Offset 0
#define accZ_Offset 0.95
#define gccX_Offset -2.05
#define gccY_Offset -1.05
#define gccZ_Offset 1.12
// class default I2C address is 0x68
// specific I2C addresses may be passed as a parameter here
// AD0 low = 0x68 (default for InvenSense evaluation board)
// AD0 high = 0x69
MPU6050 accelgyro;
int16_t ax, ay, az;
int16_t gx, gy, gz;
float aax,aay,aaz;
float ggx,ggy,ggz;
#define LED_PIN 13
bool blinkState = false;
void setup() {
// join I2C bus (I2Cdev library doesn't do this automatically)
Wire.begin();
// initialize serial communication
// (38400 chosen because it works as well at 8MHz as it does at 16MHz, but
// it's really up to you depending on your project)
Serial.begin(9600);
// initialize device
Serial.println("Initializing I2C devices...");
accelgyro.initialize();
// verify connection
Serial.println("Testing device connections...");
Serial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");
//清空数据
Serial.println("CLEARDATA");
//Label后面的就是要在excel中列的名字
Serial.println("LABEL,Time,Timer,ACC_X,ACC_Z,GCC_X,GCC_Y,GCC_Z");
//重置时间
Serial.println("RESETTIMER");
// configure Arduino LED for
pinMode(LED_PIN, OUTPUT);
}
void loop() {
// read raw accel/gyro measurements from device
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
// these methods (and a few others) are also available
//accelgyro.getAcceleration(&ax, &ay, &az);
//accelgyro.getRotation(&gx, &gy, &gz);
aax=ax/16384.00;
aaz=az/16384.00-accZ_Offset;
ggx=gx/131.00-gccX_Offset;
ggy=gy/131.00-gccY_Offset;
ggz=gz/131.00-gccZ_Offset;
Serial.print("DATA,TIME,TIMER,");
Serial.print(aax);Serial.print(",");
Serial.print(aaz);Serial.print(",");
Serial.print(ggx);Serial.print(",");
Serial.print(ggy);Serial.print(",");
Serial.println(ggz);
// display tab-separated accel/gyro x/y/z values
/*Serial.print(ax/16384.00); Serial.print(",");
Serial.print(ay/16384.00); Serial.print(",");
Serial.print(az/16384.00); Serial.print(",");
Serial.print(gx/131.00); Serial.print(",");
Serial.print(gy/131.00); Serial.print(",");
Serial.println(gz/131.00);*/
// blink LED to indicate activity
blinkState = !blinkState;
digitalWrite(LED_PIN, blinkState);
}
之后在PLX-DAQ中设置好端口和波特率,按connect,数据就开始自动加载了
就是这样。
PLX-DAQhttps://www.parallax.com/downloads/plx-daq
- Arduino数据输出到excel
- 把数据输出到Excel
- C#输出数据到Excel
- ASP.NET中将数据输出到Excel
- 把DataGrid数据输出到Excel文件
- ASP.NET中将数据输出到Excel
- 输出数据到Excel表格中
- ASP.NET中将数据输出到Excel
- ASP.NET中将数据输出到Excel
- 表格数据输出到Excel中
- ASP.NET中将数据输出到Excel
- Asp.Net输出数据到EXCEL中
- ASP.NET中将数据输出到Excel
- Asp.Net输出数据到EXCEL中
- java将数据输出到Excel中
- Excel单元格中的数据输出到.txt
- C#输出DataTable数据到Excel文件
- ASP.NET中将数据输出到Excel
- Java进阶之动态代理
- oracle中数据前后空格的函数
- 【Codeforces Round 370 (Div 2) B】【简单贪心】Memory and Trident
- Android跨进程通信的四种方式
- Java学习之日期格式化显示(SimpleDateFormat&Date)
- Arduino数据输出到excel
- 2016 Asia Regional Dalian Online 1006
- 线程、进程及线程通信
- Java中Scanner的nextLine方法的问题
- 【Codeforces Round 370 (Div 2) C】【正难则反 贪心】Memory and De-Evolution
- JAVA GUI
- java IO综述
- HDU 2255奔小康赚大钱 km算法
- ==和equals