糖果盒子制作步骤

材料准备:

SmartNodekit套件

20*20*21带盖子的纸盒子

3D打印的翻盖连接舵机部件(stl文件详见网站下方链接)

9V电池(或电源)

工具准备:

美工刀

小螺丝刀

胶枪胶棒

双面胶

 

需要的部件及其详细介绍

1.爱迪生芯片及Arduino扩展板

image001

2.Smart Node

Smart_Node编程界面如下图所示。Smart_Node界面主要由三大部分组成:1.节点区;2.节点编辑区;3.信息显示和调试区。用户可以在节点区去拖拽所需节点进入节点编辑区,在节点编辑区进行配置和连接,点击“部署”可以上传程序最后在信息显示和调试区进行调试。

image002

3.接口拓展板

image003

对应Edison板的F区域,对准接口安装。可以在拓展板上连接传感器等其他器件。

4.电源线+USB线

兼容的Edison Arduino扩展板的12V 2A电源适配器。

Micro USB数据线。

image004IMG_1232

电源线对应Edison板的A接口。

USB线小接口对应Edison的D、E接口,大接口连接电脑。

注:USB连接D和电脑时:(1)用作U盘存储(2)充电

USB连接E和电脑时:使用SmartNode。

5.Grove按钮Button,Grove三色LED灯泡,4pin导线

D38C.tmp

导线:连接Edison板和器件。
LED灯:LED灯长脚为正极,短脚为负极,使用时应对应好灯座正负极位置。对应节点LED灯泡。
Button按钮:按下代表1,松开代表0.在糖果盒子流程图中选择的是Seeed-Touch触摸传感器节点,可以保证按一次打开,再按一次关闭。FullSizeRender

6.9g模拟舵机,舵盘

25E9.tmp
舵机:英文名叫Servo,它由直流电机、减速齿轮组、传感器和控制电路组成的一套自动控制系统。通过发送信号,制定输出轴旋转角度。舵机一般而言都有最大旋转角度(比如180度)。普通直流电机无法反馈转动的角度信息,而舵机可以。用途也不同,普通直流电机一般是转圈转动作动力用,舵机是控制某物体转动一定角度用(比如机器人的关节,摄像头的云台)。对应糖果盒子流程图的节点为Seeed-Servo舵机。 文本框: 舵机FullSizeRender(1)

舵盘:安装在舵机上,可以连接其他设备,通过舵机旋转来控制移动。

连接部件:3D打印制作,将舵机固定在盒子上。

7.USB分线器

image014IMG_1234

当连接的器件需要的USB口大于1时使用。连接在Edison板的B口。接口B需要使用时,需要将C口的小开关扳到B口一侧,表示B口连接有效。

8.罗技高清网络摄像头

image015IMG_1233

摄像头正常使用时,会出现黄色提示光。对应节点为摄像头Camera。

9.全金属迷你音箱,模拟7.1声道USB声卡

7BB.tmp
数据线的A口连接音响,B口连接声卡的D口,C口用于充电。 文本框: AIMG_1235

 

声卡的E口连接Edison的B口或者USB拓展板上。

 

对应节点为文字转语音say。

SmartNode编程以及Edison部件连接

image022D08E.tmp

JSON代码:

txt文件下载:糖果盒子json

(若直接复制粘贴以下json代码错误,则可以下载txt文件里的json代码重新复制粘贴即可)

[{“id”:”41c9a19c.be366″,”type”:”Seeed-Touch”,”z”:”85e925de.7a16d8″,”name”:”开关”,”digitalPin”:”2″,”impulse”:”500″,”x”:55,”y”:288,”wires”:[[“5f351e58.a0cae”,”1aa77573.e5588b”]]},{“id”:”5f351e58.a0cae”,”type”:”Camera”,”z”:”85e925de.7a16d8″,”name”:”摄像头”,”cameraId”:0,”frameConfig”:1,”mode”:0,”timerVal”:500,”x”:224,”y”:278,”wires”:[[“78df4d42.8720b4”],[]]},{“id”:”78df4d42.8720b4″,”type”:”FaceDetect”,”z”:”85e925de.7a16d8″,”name”:”面部识别”,”x”:395,”y”:265,”wires”:[[“403e130.fbfc1ec”],[]]},{“id”:”403e130.fbfc1ec”,”type”:”switch”,”z”:”85e925de.7a16d8″,”name”:”判断”,”property”:”payload”,”rules”:[{“t”:”gt”,”v”:”0″},{“t”:”eq”,”v”:”0″}],”checkall”:”true”,”outputs”:2,”x”:554,”y”:259,”wires”:[[“ac8b8844.537478″,”26d4a2eb.d92b5e”,”d6904f41.296fb”],[“94c7e9cd.6b3818″,”49ccda9b.b63324”]]},{“id”:”ac8b8844.537478″,”type”:”say”,”z”:”85e925de.7a16d8″,”name”:”hello”,”x”:731,”y”:75,”wires”:[[]]},{“id”:”26d4a2eb.d92b5e”,”type”:”change”,”z”:”85e925de.7a16d8″,”name”:”打开”,”rules”:[{“t”:”set”,”p”:”payload”,”to”:”1″}],”action”:””,”property”:””,”from”:””,”to”:””,”reg”:false,”x”:819,”y”:159,”wires”:[[“ea22b3fd.15dd5”]]},{“id”:”d6904f41.296fb”,”type”:”change”,”z”:”85e925de.7a16d8″,”name”:”55度”,”rules”:[{“t”:”set”,”p”:”payload”,”to”:”55″}],”action”:””,”property”:””,”from”:””,”to”:””,”reg”:false,”x”:815,”y”:207,”wires”:[[“c5d8f9dc.3a2708”]]},{“id”:”49ccda9b.b63324″,”type”:”change”,”z”:”85e925de.7a16d8″,”name”:”0度”,”rules”:[{“t”:”set”,”p”:”payload”,”to”:”0″}],”action”:””,”property”:””,”from”:””,”to”:””,”reg”:false,”x”:812,”y”:328,”wires”:[[“c5d8f9dc.3a2708”]]},{“id”:”94c7e9cd.6b3818″,”type”:”change”,”z”:”85e925de.7a16d8″,”name”:”关闭”,”rules”:[{“t”:”set”,”p”:”payload”,”to”:”0″}],”action”:””,”property”:””,”from”:””,”to”:””,”reg”:false,”x”:816,”y”:280,”wires”:[[“ea22b3fd.15dd5”]]},{“id”:”ea22b3fd.15dd5″,”type”:”Led”,”z”:”85e925de.7a16d8″,”name”:”灯泡”,”digitalPin”:”4″,”x”:1104,”y”:168,”wires”:[]},{“id”:”c5d8f9dc.3a2708″,”type”:”DF-Servo”,”z”:”85e925de.7a16d8″,”name”:”舵机”,”pwmPin”:”3″,”x”:1113,”y”:294,”wires”:[[]]},{“id”:”1aa77573.e5588b”,”type”:”switch”,”z”:”85e925de.7a16d8″,”name”:”判断”,”property”:”payload”,”rules”:[{“t”:”eq”,”v”:”1″},{“t”:”eq”,”v”:”0″}],”checkall”:”true”,”outputs”:2,”x”:237,”y”:438,”wires”:[[“5430691d.abcf98”],[“53f5af26.ac0a5”]]},{“id”:”5430691d.abcf98″,”type”:”say”,”z”:”85e925de.7a16d8″,”name”:”look my eyes”,”x”:511,”y”:413,”wires”:[[]]},{“id”:”53f5af26.ac0a5″,”type”:”say”,”z”:”85e925de.7a16d8″,”name”:”bye bye”,”x”:495,”y”:477,”wires”:[[]]}]

JSON代码导入:

image02357DF.tmp

点击部署(Deploy)右侧的image024按钮,会出现菜单栏,选择“导入”–>“剪切板”,然后将上述代码复制黏贴在剪切板上,确定即可。

 

糖果盒子功能描述

按下开关,糖果盒子开始工作,此时盒子会发出声音说:look my eyes。将脸对准盒子正前方摄像头位置。当盒子识别到人脸,糖果盒翻盖会打开,并且会说:Hello,同时盒子前的小灯会亮。当人脸离开摄像头范围,翻盖会自动合上,小灯熄灭。以上过程可以重复进行。希望关闭糖果盒子时,再次按下开关按钮,语音会说:bye bye并关闭糖果盒子。此时再将脸凑到盒子前,盒子不会反应。

节点配置步骤:

1.开关:

image025F54B.tmp

选择触摸传感器节点,将其拖拽到工作表中。双击节点进行详细设置。

Digital Pin:数字针脚。开关为数字输入(只有0/1信号)。将Button部件通过导线连接到Edison板子上时注意选择数字接口,也就是名称为D开头的接口。板子上接口为几,在这里Digital Pin设置就为几。

Impulse:脉冲,可设置,单位毫秒。也就是按下开关多久会响应这次动作。这里设置为200。

2.摄像头:

image0269612.tmp

将多媒体节点中的摄像头节点拖拽到工作表,双击进行详细设置。

Camerald:摄像头数量,实际数量减1。这里因为只有一个摄像头,输入0。

FrameConfig:框架大小。也就是画面分辨率,这里选择320*420。

Mode:模式,可选择。录像或者照片。这里选择录像。

TimerVal:时间间隔,可设置,单位毫秒。隔多久抓取一次图片,这里设置为500ms。

与开关之间的逻辑:

开关按下开启,摄像头开始工作,因此将开关与摄像头节点进行连接。

摄像头有两个输出,上边的输出为图像数据,下边的输出为图像数据指针。一会儿连接其他节点应使用上面的输出。

3.面部识别:

image027

将多媒体中的面部检测节点拖拽进来。

与摄像头节点之间的逻辑:

面部检测节点通过算法检测输入的图像中有几个人脸,因此输入为摄像头的图像数据。此节点输出有两个,上面的输出为检测出的人脸个数,下面的输出为图像数据包。

4.判断:

image0286041.tmp

(判断节点1)

将功能中的判断/切换节点拖进来。

在判断节点中可以根据需要增加规则数目。(点击+规则)

与面部检测节点之间的逻辑:

糖果盒的逻辑是,如果识别到人脸,也就是人脸个数大于0,盒子翻盖打开。如果没有检测到人脸,也就是人脸个数等于0,翻盖维持关闭状态或者关闭。

规则1:检测到人脸数目大于0

规则2:未检测到人脸(“==”号是计算机中判断相等的符号,也就是数学中的“=”号)

image029FAA9.tmp

(判断节点2)

此处的判断是为了使音响可以说出不同的话。

逻辑:

当开关打开时盒子说:look my eyes(看我的眼睛)

当盒子开关关闭时说:bye-bye

此处的判断规则为,当开关打开时(也就是传来1信号时)(也就是msg.payload>0时)走上边的出口。

当开关关闭时(也就是变为信号0)(也就是msg.payload==0时)走下边的出口。

5.文字转语音:

image030A194.tmp

将文字转语音节点拖到工作表中。

文字转语音节点可以将你输入的文字变成语音,并且使音响说出来。

双击节点可以输入要说的话。一共有两个节点两句话,一个是look my eyes, 一个是bye bye。

根据步骤4中的判断节点2,判断节点上方的输出接look my eyes,下方的输出接bye bye。

image031B98.tmp

根据步骤4中的判断节点1,如果检测到人脸就会说hello,因此这里也要加一个文字转语音节点,并且这个节点的输入连接至判断节点1的第一个输出。

6.改变:

image033image03244.tmpFD.tmp

将改变节点拖拽到工作表中。双击可进行详细配置。

与判断节点1和led灯节点之间的逻辑:

若检测到人脸,打开LED灯。

也就是如果数据流从判断节点1的上方输出流出,那么此时需要把数据流变为1(也就是数字信号)输入给led灯节点。

如果没检测到人脸,数据流从判断节点1的下方流出,那么此时把数据流变为0,led灯熄灭。

image0347EF9.tmp

当检测到人脸时,数据流从判断节点1的上方输出流出,在这里信号变为55,表示舵机旋转55度,也就是打开糖果盒的盖子。

image0351501.tmp

未检测到人脸,舵机回到0度,关闭盖子。

7.LED灯:

image036ED33.tmp

将led灯节点拖进来,输入连接步骤6设置好的两个改变节点。

Digital Pin:接口,可选择。LED灯需要数字输入,选择D接口。在板子上插的哪个接口,这里就选几。

8.舵机:

image0371EDF.tmp

将舵机传感器节点拖进来,进行针脚设置。注意真实连接中使用的哪个口,这里就选择几号接口。(注意节点类型不要看错,不要选择I2C舵机)

Pwm Pin:接口,可选择。舵机需要数字输入。

实际连接:

278.tmp

F166.tmp

7407.tmp

组装糖果盒子:

1 选择盒子的一个侧立面,在中间位置挖出一个10*10的正方形来当做翻盖,注意不要把翻盖或盒子挖烂。在正方形口左侧靠上挖出一个小洞以便对准摄像头的镜头,在右侧挖出一个小洞供LED小灯伸出来。如图所示:

image055

将所有部件传感器都连好,并且使用SmartNode编程完成的Edison板子准备好,放到盒子中,按步骤粘结如下部件:使用胶枪将摄像头粘在盒子中。镜头对齐刚刚挖好的左上方小孔。

image056

2 Led小灯穿过右上方小洞,将底座粘在盒子里面

image057

3 将舵机归原位。(具体方法为在SmartNode上将舵机设为旋转0度并且部署运行)3D打印件,舵盘用两颗螺丝连接在一起。(如果觉得不方便,也可以用胶枪将其胶粘在一起)

image058

image059

4 将舵机部分粘在盒子里面,使舵机底边与大正方形孔洞的上边对齐,粘在正方形上边的中间。同时,3D打印件的平面和挖出来的正方形纸板粘在一起。

注意舵机的粘结方向。

image060

5 将开关粘在盒子背面的合适位置。如图:

image061

6 将Edison套件连接上9V电池。(或电源)

image062

7 将其余部件都放到盒子中,扣上盖子大功告成啦!

image063

image064

跳至工具栏