CurieSN 实现训练球

使用 Curie-SmartNode 图形化设计工具 (简称 CurieSN) 和 CNK(CurieNeurons Kit) 套件,可以实现许多好玩的智能玩具,CurieSN 工具提供了支持 GroveSeed 和 DF 的多种传感器节点,让 Maker 朋友用起来更方便。

接下来我就带着大家一起来做一下这个很有意思的智能玩具球吧!

硬件器材:

Arduino101 开发板 * 1
LED 灯 (红、绿、黄) *3
Button 按钮 (蓝、黄、白) *3
64 位 Windows 系统 PC * 1
引脚线 *若干
电池 1 块
训练球模型 (3D 打印)

软件工具

Curie-SmartNode

相关资料下载:

CurieSmartNode

训练球 3D 模型

程序源代码

SmartNode 节点逻辑 flows

完成目标:

  学习动作:

  • 按下黄色按钮采集动作数据,红灯亮;释放按钮后进行分类学习,红灯灭,设定分类为 1。
  • 按下蓝色按钮采集动作数据,红灯亮;释放按钮后进行分类学习,红灯灭,设定分类为 2。

  识别动作:

  • 按钮白色按钮采集动作数据、释放按钮后进行分类识别,识别结果为 1,则黄灯亮,5 秒后自动熄灭;识别结果为 2,则绿灯亮,5 秒后自动熄灭。
  • 为了大家容易辨认,特意选取了分类按钮的颜色和识别的 LED 颜色一一对应)

设计流程:

球体设计及安装:

  1. 先设计好设备传感器同 Curie101 的连接图
  2. 将 3 个按钮固定到带圆孔的半边球上
  3. 将 3 个 LED 灯固定到半边球上
  4. Curie101 安装并连接传感器 Pin 脚,硬件部分安装完成。

SmartNode逻辑设计:

学习分类 1 逻辑实现:

  1. 在图形化工作区中拖拽 Button 节点,命名为 YellowButton, 数字引脚为 2,功能类别选择按钮; 按下按钮发送 1,控制传感器开始采集数据,并提供分类 1;释放按钮发送 0,用来灭掉红色指示灯和结束传感器数据采集,这里需要 3 个 change 节点,连接方式如下图:

    按下按钮,将 payload 值设置为 1,指定该按钮为分类 1。

    释放按钮,设置 msg.payload 为 0。

    将 msg.payload 改变消息别名为 msg.category,此目的是为接下来连接 Neurons 节点来设定的。

    另外还需要实现学习时指示灯的亮灭控制,需要提供 3 个 change 节点,1 个 switch 节点和 1 个 LED 节点,连接如图:

    配置 change 节点,msg.category 改变消息别名为 msg.payload,并连接 switch 节点

    设置 switch 条件,当>0,开灯;当==0 时,关灯。

    设置 chenge 节点名称为 on, 为 msg.payload 为 1,开灯;

    设置 chenge 节点名称为 off, 为 msg.payload 为 0,关灯;

    LED 指示灯名称设置为 RedLED,Pin 脚设为 13。

  2. 拖拽加速度节点和陀螺仪节点,并将 YellowButton 连接到这两个节点。
  3. 拖拽 Neurons 节点,配置参数,应用类别选高级,数据长度为 60,即为按钮按下到释放这段时间内所采集的数据个数。 最后将数据传感器连接到 Neurons
  4. 拖拽 change 节点 2 个,命名 Learn 和 neuronStatus,并连接起来; 配置 change 节点,msg. payload 为 1 配置 change 节点,msg. payload 改变消息别名为 msg.neuronStatus

    最后将 YellowButton 节点连接到 Learn 节点,并将 neuronStatus 连接到 Neurons 节点

学习分类 2 逻辑实现:

刚刚完成了分类 1 的逻辑实现步骤,分类 2 和分类 1 的实现方式相同,可以复制上面的步骤,需要命名 Release 的 change 节点的 msg.payload 设置为 2, 将按钮的 Pin 脚设置为 3 即可。

分类识别的逻辑实现:

  1. 再拖拽一个按钮,命名为 WhiteButton,Pin 脚设置为 4,同时拖拽一个 change 节点,命名为 Classify,设置 msg.payload 为 0,并将其连接,最终的连接图为: 在 WhiteButton 节点后再连接一个 change 节点,命名为 category_status,msg.payload 改变消息别名为 msg.category; 作用为当释放按钮后进行动作识别。

    配置完结果图为

  2. 为了识别结果更明显,我们接入了一个黄色的 LED 和绿色的 LED 作为分类识别信号灯。首先,在 Neurons 节点后要接入一个 switch 节点,用来输出分类 1 和 2 的两路。 配置完结果图为

    在其后接入 change 变更节点,来控制灯的亮灭;要求识别为分类 1 时,黄灯亮,5 秒后再熄灭;对于识别分类 2 也是同样,绿灯亮,5 秒后再自动熄灭,具体的连接和配置如图:

    最后不要忘了,要加入一个重要的节点,to curie 编译节点 ,没有它将无法完成我们的工作。我们最终的逻辑就完成了,如图:

     

视频演示

 

发布者:Cara,转载请注明出处:http://www.makercollider.com/curie/1280

发表评论

登录后才能评论
QR code