空气鼓槌
材料准备
硬件连接
- 将 Genuino 101 安装到底座上
- 将 IO 扩展板 安装在 Genuino 101 上
- SD 卡模块 按照线序,安装在扩展版上的 SD 卡接口上。
- 用魔术扎带将 101、扩展版、SD 卡模块 捆住固定,留出一段绕手一圈的长度,待用。
- 9V 电源线与电池连接好,待用。
软件准备
系统推荐:Windows / macOS(预装 Excel 或 Numbers)
开发环境推荐:Arduino IDE 1.6.12
开发版支持库推荐:Intel Curie Boards by Intel 1.0.7
iOS 设备(iPhone 或 iPad 皆可)预装 GarageBand App
项目完整代码:链接: https://pan.baidu.com/s/1c2rdNmo 密码: tytu
采集数据
首先烧写 SDWrite.ino 到 Genuino 101 上。
代码如下:
#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;
// Open serial communications and wait for port to open:
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);
}
1. 烧写完程序以后,拔下 usb 烧写线,
2. 将设备用魔术扎带捆绑到手背上,如下图:
3. 将 9V 电池 和 Genuino 101 相连上电,开始做向下敲击的动作,连续重复做向下敲击动作约 20 次,注意在每次敲击的动作幅度、速度尽量一致,这样以后方便看动作波形。
4. 拔下电池线,将 SD 卡取出通过适配器插到电脑上,打开 SD 卡中的 DATA.CSV 文件,选中 ABC3 列数据-> 点击插入-> 插入折线图 ,如下图:
上面我们看到的每一个波形都是一次敲击,下面我们的工作就是把杂波剪切掉。
数据处理
这里我们要做的就是把每组动作前后的杂波去掉,去掉的方法就是对应着删除数据即可;比如我们要裁剪掉下图的前后两端的杂波。
通过将鼠标指针放在折线上可以看到所在点
比如这里是头部杂波结束的地方,我们就把他之前的数据给删除即可。
尾部杂波的删除以此类推。
然后,我们用同样的方法来采集第二个向右甩手的动作。
两个处理后的数据分别保存为“1.csv”和“2.csv”,放入 pipeline-curie 文件夹下的 train_data 里,再对“config.csv”文件进行如下修改:
然后运行“QriNeuronPipeline.exe”,程序会自动进行处理。
至此数据处理就结束了。
数据学习和识别
处理后的数据会存放在“QriNeuronPipeline.exe”的同目录下,“trainer_neurons.csv”文件。
我们把这个文件重命名为“neurons.csv”,然后存进 SD 卡里即可。
现在我们把“curie-classify-blemidi.ino”烧进 Genuino 101,并插入 SD 卡,等待 30 秒后,Curie 就可以自动进行学习和识别了。
效果测试
首先我们打开 iPhone 或 iPad 上的 GarageBand App。然后我们选择乐器为“鼓”,点击“原生声”进入。
点击右上角的扳手图标
选择“高级”
选择“蓝牙 MIDI 设备”
选择“Curie”,进行连接。
这里显示已连接的时候就可以开始,挥舞你手上的“Genuino 101”玩耍啦~
发布者:Cara,转载请注明出处:http://www.makercollider.com/curie/1136