【Curie Nano试用】 A4.读写运动数据
Curie Nano是定位可穿戴的场合,有时候我们需要把采集到的运动数据保存下来进行分析。如果数据量比较大就必须得保存到大容量的SD卡里了。本篇我们就来学习一下怎么操作。材料准备,如下图所示需要用的材料有:Curie Nano、MicroSD Card Adapter、MicroSD卡、读卡器、数据线和杜邦线若干。
硬件连接,按照下表所示进行连接。
Curie Nano MicroSD Card Adapter
GND GND
VCC 5V
MISO D12
MOSI D11
SCK D13
CS D4
经过实际的测试可以看出加速度的方向如下图所示:
把Curie Nano和sd卡转换器固定好以后就可以进行数据的采集了,这里有个小技巧就是做完一个完整的动作以后可以暂时个两三秒钟,这样有段时间数据是趋于稳定的,方便以后的数据处理。
示例代码:
<font size="4">#include "SPI.h"
#include "SD.h"
#include "CurieIMU.h"
#define SAMPLING_INTERVAL 10//ms
File myFile;
float ax, ay, az;
uint64_t timer;
void setup() {
timer = 0;
Serial.begin(9600);
CurieIMU.begin();
CurieIMU.autoCalibrateXAccelOffset(0);
CurieIMU.autoCalibrateYAccelOffset(0);
CurieIMU.autoCalibrateZAccelOffset(1);
CurieIMU.setAccelOffsetEnabled(true);
CurieIMU.setAccelerometerRange(4);
if(!SD.begin(4)) {
Serial.println("initialization failed!");
return;
}
}
void loop() {
timer =millis();
CurieIMU.readAccelerometerScaled(ax, ay, az);
myFile =SD.open("data.csv", FILE_WRITE);
if(myFile)
{
myFile.print(ax);
myFile.print(",");
myFile.print(ay);
myFile.print(",");
myFile.print(az);
myFile.print("\n");
}
myFile.close();
while((millis() - timer) < SAMPLING_INTERVAL);
}</font>上传上边的代码到Curie Nano中,我们可以重复做一个动作,然后断电将microsd通过读卡器插到电脑上,打开data.csv文件。
如下图就可以看到3轴加速度的数据了。
示例代码只是保存了加速度的数据,同样的方法可以保存9轴的数据或者任意你想保存的传感器采集到的数据。
我最喜欢连接这些芯片和数据线,但是,,,
页:
[1]