430浏览
查看: 430|回复: 5

[进阶] 快乐智造营 | 13 物品存放柜

[复制链接]
本帖最后由 怀若谷 于 2021-6-2 10:25 编辑

本系列教程主要分享基于开源硬件和激光建模的创客作品的制作,每个作品涉及两三个电子模块的使用,让学习者能够轻松、扎实地掌握创客制作的知识和技能,并体会到智造的乐趣。
【目录】
5.快乐智造营 | 05 台灯9.快乐智造营 | 09 桌面温度计
10.快乐智造营 | 10 多功能测量仪
11.快乐智造营 | 11 遥控电风扇
12.快乐智造营 | 12 电子像素画板
13.快乐智造营 | 13 物品存放柜
v 13.1项目概述
快乐智造营 | 13 物品存放柜qw1.jpg
图13-1


     “物品存放柜”,如图13-1所示,是一个模拟实现生活中已存在设备的一个项目,可以帮助学习者了解该设备的实现原理。通过该项目的学习,可以掌握碰撞传感器和NFC近场通讯模块的使用。
       功能介绍:将贴有电子标签的动物造型卡片靠近物品存放柜的感应区,相对应的柜门会解锁,此时可以拉开柜门放入东西或者取出柜子里的东西。放进物品后,将柜门合上,门会自动上锁,这时用手无法拉开。
演示视频


v 13.2材料准备
快乐智造营 | 13 物品存放柜qw2.jpg
图13-2

本项目所需要的硬件材料,如图13-2所示,分别为:
(1)DFRduino Uno R3  1块
(2)IO扩展板   1块
(3)NFC近场通讯模块  1个
(4)180°舵机  2个
(5)碰撞传感器 2个
(6)NFC电子标签贴纸  2张

v 13.3电子模块的使用
13.3.1  NFC近场通讯模块
       NFC(近场通讯),是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点数据传输(在十厘米内)交换数据。NFC技术被广泛用于POS机移动支付、公交卡、银行卡、门禁卡、饭卡、水卡等多种场合。本项目中使用的是DFrobot出品的NFC近场通讯模块,具有IIC和UART双接口,可以通过拨动开关进行切换。使用时,可以根据自己的需求选择其中的一种连接方式。

快乐智造营 | 13 物品存放柜qw3.jpg
图13-3

       在与Arduino Uno主控板连接时可以连接到IIC(A4、A5)引脚,连接示例如图13-3所示。
快乐智造营 | 13 物品存放柜qw4.jpg
图13-4

       在编程软件Mind+中,NFC近场通讯模块包含的积木有8个,如图13-4所示,需到【扩展】中的【通讯模块】下找到【NFC模块】,然后选择添加才会在积木区出现。在使用时,需要先进行初始设置,示例程序如图13-5所示,该程序执行的结果是将接在IIC引脚上的NFC模块读取到卡片的UID号通过串口打印方式显示出来。

快乐智造营 | 13 物品存放柜qw5.jpg

图13-5
       将电子标签或者成品卡片靠近NFC模块,如图13-6所示,即可读取到该电子标签或卡片的UID。如图13-7所示,显示的是本项目使用的两张电子标签的UID信息。

快乐智造营 | 13 物品存放柜qw6.jpg

图13-6
快乐智造营 | 13 物品存放柜qw7.jpg
图13-7
       除了读取卡片的UID外,还可以读取存储在卡片中各个数据块中的数据;并且可以向指定数据块写入指定数据。

13.3.2 碰撞传感器
       碰撞传感器,也叫微型开关,是一种由很小的物理力启动的电子开关(使用了杠杆原理)。其实质上和数字按钮模块是相同的,属于数字模拟输入设备,在不同的状态下会向主控板输入1或者0两种数字信号。

快乐智造营 | 13 物品存放柜qw8.jpg
图13-8
       在与Arduino Uno主控板连接时,参照数字按钮模块,可连接到除D0、D1外的任一引脚。连接示例如图13-8所示,GND、VCC、数据三个引脚要分别对应。

快乐智造营 | 13 物品存放柜qw9.jpg

图13-9
       在编程软件Mind+中,可以使用【引脚操作】中【读取数字引脚(2)】积木来读取碰撞开关的输入信号。使用前,一般需要了解该碰撞传感器的特性,示例程序如图13-9所示,该程序执行的结果是将接在引脚D2上的碰撞传感器的输入信号显示在串口调试窗口。
快乐智造营 | 13 物品存放柜qw10.jpg
图13-10
        显示结果如图13-10所示,由此可判断本项目使用的两个碰撞传感器的特点为:非碰撞状态下数字信号为1,碰撞状态下信号为0。

v 13.4 项目制作
13.4.1 硬件搭建
       将碰撞传感器连接到扩展板的D2和D3引脚、舵机连接到A2和A3引脚、NFC模块连接到IIC引脚,如图13-11所示。

快乐智造营 | 13 物品存放柜qw11.jpg

图13-11
13.4.2 编写程序
       编程思路:(1)将两个舵机初始化为110°,是柜门处于上锁状态;(2)让NFC通讯模块不停侦测电子标签的信息,如果感应到某个电子标签的信息则控制对应的舵机置于20°,即为柜门解锁;(3)当碰撞传感器的信号为0时(说明处于碰撞状态下),将对应的舵机置于110°,即为柜门上锁。
       电子标签、碰撞传感器和舵机必须分为两组进行匹配。
       根据编程思路,在Mind+软件中进行编程,示例程序如图13-12所示。编写好程序后,上传到设备,进行初步调试。
快乐智造营 | 13 物品存放柜qw12.jpg
图13-12

12.4.3 设计、切割外型
       使用制图软件进行外型的设计,设计图如图13-13所示。为了更好地区分,卡片外型采用了不同动物造型,柜门上也做了对应的标记。

快乐智造营 | 13 物品存放柜qw13.jpg
图13-13
       图纸设计好后,使用激光切割机进行切割。切割好的木板件如图13-14所示。其中感应卡片使用了亚克力材料,柜子部件使用了椴木板材料。

快乐智造营 | 13 物品存放柜qw14.jpg
图13-14

13.4.4 装配调试
       将切割好的木板和硬件进行组装,步骤如图13-15所示。

快乐智造营 | 13 物品存放柜qw15.jpg
图13-15

(1)将NFC模块和碰撞传感器安装在木板件的预留位置
(2)组装部分木板件,固定主控板并连接好硬件
(3)装上两块侧板
(4)固定舵机
(5)装上前面的木板件
(6)装上柜门


       除木板件外,柜门与柜体的连接还使用了不锈钢合页。
       最后,将电子标签贴在亚克力材料部件上,如图13-16所示,制成开门用的卡片。

快乐智造营 | 13 物品存放柜qw16.jpg
图13-16
     装配好后,需要进行调试,保证柜门能正常开合、能顺利锁上和解锁。你可能需要根据门锁的运行情况调整舵机的角度。

v 13.5 思维拓展
       本项目受电子模块使用数量的限制,只能实现简单的开关柜门的功能。如果想进一步完善的话,可以考虑增加语音提示、屏幕显示等功能模块,使人机交互做得更完美。
      如果从储物柜这一主题出发,对使用电子模块不设限的话,还可以使用AI视觉模块来制作一个具有人脸识别功能的智能储物柜。不过,这需要进一步学习更多的电子模块。
      你还有好的想法呢?









源程序及图纸.rar

546.31 KB, 下载次数: 19

hnyzcj  版主

发表于 2021-5-14 08:48:51

我学生在用你的教程
回复

使用道具 举报

怀若谷  中级技匠
 楼主|

发表于 2021-5-14 13:44:02

hnyzcj 发表于 2021-5-14 08:48
我学生在用你的教程

很高兴!希望给更多的老师或者孩子以参考。
回复

使用道具 举报

hnyzcj  版主

发表于 2021-5-14 17:28:00

我学生非常喜欢,适合他们快速上手
回复

使用道具 举报

zhangliang  学徒

发表于 2021-5-24 00:12:23

希望分享下切割图纸,谢谢
回复

使用道具 举报

怀若谷  中级技匠
 楼主|

发表于 2021-6-2 10:26:17

zhangliang 发表于 2021-5-24 00:12
希望分享下切割图纸,谢谢

已添加附件
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail