所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
DF冬季AI挑战赛第三季:非触式AI智能电梯
珠韵 珠韵 2020-03-30 10:21:42
2
0
简单

       今天和大家分享的项目是:非触式AI智能电梯。 本项目的创意来源于网络上的五花八门的电梯消毒技巧,思考这是否可以用二哈来制作一个非触式电梯开关。 

projectImage

 先来简单阐述一下本项目: 

        本项目主要有二哈、掌控板、MP3语音模块、马达和乐高科技积木等器材组成。

        可以实现以下功能:

         1.根据二哈识别的二维码标签,控制电梯运行。每张二维码有一个属性,记录着可以到达哪个楼层。

         2.通过手机中的Blynk,自由更改每一张二维码标签的属性,也就是更改二维码绑定的楼层号。 

         3.语音播报电梯运行。 这样我们可以通过在二哈面前出示二维码标签,就能控制电梯运行。没有二维码可以通过服务台的手机办理或者更新二维码。 我们一般的商务大楼有两种人员出入,一种是工作人员,我们可以给他办理长期有效的标签卡。对于零时上楼人员,在登记后可以给他指定楼层的标签卡,随时可以更改属性让卡无效。 

        不多说了,先来看看我们的项目视频。 看完视频后,一定想了解一下程序是怎么设计的吧,下面我继续分享。 (视频中有个字幕搞错了,晚些再上传改正一下)

        看完视频后,一定想了解一下程序是怎么设计的吧,下面我继续分享。

一、项目亮点

projectImage

二、 项目器材清单,如下图。

projectImage

三、接线图

        这里要注意,由于二哈、MP3语音模块和马达一起运作的时候,耗电比较大,所以需要外接供电。


projectImage

四、项目结构搭建。

       可以看到,我们的主结构是用乐高科技件搭建的,主要是考虑到齿轮带动用乐高件比较方便搭建。这里主要用到了涡轮,用来改变轴的旋转方向,齿轮用到了40齿和8齿,中件加了24齿做带动,40齿带动8齿,提高旋转的速度,因为通过虽然改变了方向并可以在点击不动的情况下锁住齿轮,让电梯不下坠,但是转速慢了,所以需要用40接8来提速。

projectImage

五、变量设置

projectImage

六、升降电梯控制测试

        本项目主要是控制电梯升降,所以第一步先要测试电机控制,我通过两个自定义函数,轻松实现电机的方向和运行时间。 

projectImage

七、程序初始化 

        先看下图,我已经把程序进行了简单备注。 这里关于Blynk在mind+中如何使用,可以先学习一下DF社区里面,铁熊老师的文章,这个扩展就是铁熊老师编写的,感谢铁熊老师分享这么好的扩展。文章标题为“[资源下载]【Blynk扩展库】Mind+中也能愉快地使用Blynk物联网平台了!”网址连接https://mc.dfrobot.com.cn/thread-303476-1-1.html 

projectImage

八、自定义函数“识别判断”

         首先要用二哈录制标签,也就是在标签识别模式下让二哈认识二哈屏幕上显示的标签是ID几。具体怎么录制操作,本文不再做介绍,请点击下面链接阅读说明文档。

http://wiki2.dfrobot.com.cn/HUSKYLENS_V1.0_SKU_SEN0305_SEN0336#target_21

         要用到的标签二维码图纸也可以在上面网址上下载。

        我这里设置的是循环10次,也就是说,标签卡10最多可以存储10张,那么如果我二哈识别学习的标签卡更多呢?只要把这个10改成相应的数字即可。同样在下面的按“A"初始化地方也要做相应的修改。

projectImage

九、自定义函数“电梯运行”

本段程序设计的大致思路:

1.判断变量“mudi”是否和“zhuangtai”不同,也就是判断电梯目前所处楼层,和识别标签后得到的指令目标是否相同,如果不同,说明电梯需要上升或者下降。

2.如果接收到指令是去一楼,那么继续判断是从几楼出发到一楼,然后做出相应的电机运行指令。

3.其他指令可以以此类推。

4.自定义函数上升或者下降中的参数可以根据实际测试确定。

projectImage

十、Blynk接收设计

        这里我用到了三个虚拟引脚,V1,V2和V0。V1是标签号,V2是属性,V0是设置,当V0有信息接收到的时候,就更新标签的属性。

projectImage

十一、Blynk的手机端设计

        本项目一共用到了三个组件,如下图。

projectImage
projectImage

十二、标签初始化

        本项目是通过eeprom来存储标签的属性,不受断电和重启的影响。通过按键A可以快速初始化。这里循环从4开始,是考虑到前面三张我设置成默认。重复执行7次,加上默认的三张,刚好是10张。如果准备的标签卡更多,可以修改相关的数字。

projectImage

        下图是设计的标签卡片,可以打印出来备用,也可以直接手机拍照用,也可以发送到手机使用。二哈识别标签很好用,识别非常准,而且反应速度快。

projectImage
projectImage

本项目的源码文档已经上传到码云,链接是:

https://gitee.com/zslqg/fenxiangyuanma2020/tree/master/


Makelog作者原创文章,未经授权禁止转载。
2
0
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]