limale 发表于 2017-5-15 19:28:10

【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轴的数据或者任意你想保存的传感器采集到的数据。

feixiang20 发表于 2017-12-22 10:09:55

我最喜欢连接这些芯片和数据线,但是,,,
页: [1]
查看完整版本: 【Curie Nano试用】 A4.读写运动数据