查看: 665|回复: 1

[中级教程] 【Gravity】Mind+掌控板进阶教程-项目十一 糖果分拣

[复制链接]
本帖最后由 EVE 于 2019-9-4 13:30 编辑

项目十一 糖果分拣


糖果对很多人而言绝对是治愈系的食品,五颜六色的色彩让人感到愉悦,甜蜜的味道让人流连。每当人们特别累或是被一些烦心事困扰的时候,只要吃一颗糖果,好像就能忘掉不快。

201909046388.png

但是今天要说的可不是吃糖,而是糖果分拣!你能想象这样一盘五颜六色的糖果要如何按颜色分类吗?
那么在这个项目中,我们就会制作一个糖果分拣机,将糖果按颜色分类,一起来看看如何做吧!

头脑风暴


问题清单
1、如何识别糖果的颜色,需要借助哪个传感器
2、如何构建糖果分拣机的外观结构?大致可以分为几个主要部分?
3、首先,混色糖果要存储在哪里?
4、其次,糖果如何从存储位置移动到分拣位置
5、然后,什么结构可以完成分拣?
6、最后,在哪个位置可以进行颜色识别

规划方案


结构分解
“糖果分拣机”要实现的功能是识别糖果颜色,将混色糖果通过舵机或电机进行分类处理。

由于“糖果分拣机”在硬件上只需要颜色传感器、舵机、电机即可,编程也没有太大难度,但是外观的机械结构部分比较难,所以在规划方案阶段将以外观构建为导向分解项目,一步步围绕需求,探索最合适的结构,结合硬件与编程,实现功能。

如果大家认真思考过头脑风暴中的问题,对于外观应该已经有了一个大致想法。

这里将外观分为3个部分:存储装置(存储待分拣的混色糖果)、传送装置(将完成识别的糖果从识别位置移动到分拣位置)、分拣装置(根据识别结果进行分拣)。将颜色识别放在存储装置

所以一颗糖果在分拣机中首先会在存储装置进行颜色识别,然后进入传送机构,传送到分拣机构后,根据识别结果完成分拣。
* 由于套件中只有一个舵机、两个电机,所以在实现各部分外观时,需要注意硬件限制。

截图1.png
截图1-1.png

构造外观

截图2.png


问题记录
在后面项目实现过程中,可能会遇到各种各样的困难,尝试在下表中记录你遇到的问题和解决办法,便于以后出现类似问题时能更好的面对。

截图3.png



结构实现

结构1:存储装置

存储装置的主要作用是存储待分拣的混色糖果,并且能够稳定的向颜色传感器传递一颗待识别的糖果。

为了方便调试结构,这里可以用橡皮泥制作一些小球作为糖果,因为颜色传感器对红、绿、蓝比较敏感,为了提高识别率,这里选用了这三种颜色的橡皮泥,注意尽量保持小球的大小一致,便于分拣。

201909048613.png 201909042751.png

关于存储装置,可以参考真人CS中的道具——彩弹枪的储弹原理,用一个类似的漏斗结构,漏斗口的大小只能让一个球通过。

201909041910.png

使用牛皮纸很简单就可以做出漏斗结构,但使用时会发现,多个小球在漏斗口时容易卡住,并且圆形漏斗口比较难手工完成。如何解决这个问题呢?
201909046837.png 201909046789.png

如果让小球一个接一个的下落,就不会卡住了啊!那能不能做一个“单球通道”呢?

当然可以啦,这样的“单球通道”只要像圆柱体多棱柱那样,可以让小球一个一个下落即可。考虑到圆柱体手工制作比较麻烦,所以可以做成多棱柱,这里做了一个三角形存储通道,大家也可以做成其他形状。要保证小球可以顺利下落哦!

201909042182.png 201909048653.png

因为小球存储在通道中时,每次都会从底部掉落下来,所以可以在通道底部的侧面固定颜色传感器,这样每次掉落一个小球,颜色传感器都可以识别它的颜色。
201909044266.png

尝试动手制作一个存储装置吧,注意固定好颜色传感器!

结构2:传送装置


传送装置的作用是将识别后小球转运到分拣位,所以传送结构一定要是可以运动的,并且可以在存储位分拣位之间来回运动。

这里可以采用平面传送竖直传送两种方案,这两种方案中都使用了转盘,可以用电机舵机提供动力。

截图4.png


尝试动手制作一种传送装置吧,注意测试小球能否顺利传送!

结构3:分拣装置和收集装置


通过上面两部分已经完成了小球的颜色识别和运输,现在只需要对小球进行最后的分拣即可。
假如糖果有红、绿、蓝种颜色,那么对应有3个收集装置分别收集3种糖果。

这里有很多种分拣方法,例如下图的传送带结构,在不同的位置加电机带动的推板,就可以实现功能。但是这种方法需要较多电机,考虑到套件中只有2个电机、1个舵机,所以只能放弃。

201909049583.png

那么还有什么办法可以把糖果精准的运送到指定位置呢?大家不妨联想一下经常在马路上可以见到的水泥搅拌车,你知道它是如何倾倒水泥的吗?

如下图,当运输水泥的斜槽左右转动的时候,即可把水泥倒在指定位置。

201909043747.png

仿照这个结构,我们可以用纸板制作左右转动的斜槽作为糖果出口,通过控制转动角度,达到分拣的目的。由于套件中的电机做不到对角度的精准控制,而舵机可以转动到指定角度,所以选用舵机控制分拣结构。唯一的舵机用掉了,那么传送装置只能选用电机。

收集装置最简单只需要几个纸杯就可以完成!
将结构1-3通过一定方式组合在一起,即可完成糖果分拣机的外观部分。到这一步,相信大家已经大致做出了自己的糖果分拣机,就算还没动手,至少也是胸有成竹了。

接下来,就是编程实现了。实际编程过程中会发现,程序中的许多参数都是根据结构调试出来的,所以建议先把外观部分完成,然后再编程调试。

编程实现
连线图:注意将颜色传感器连接到IIC接口

201909047078.png
软件设置:
使用颜色传感器需要打开Mind+软件的“扩展”,在“传感器”下点击加载“颜色识别传感器”
使用舵机需要打开Mind+软件的“扩展”,在“执行器”下点击加载“舵机模块”
使用电机需要打开Mind+软件的“扩展”,在“扩展板”下点击加载“掌控扩展板”

程序:
201909048768.png

调试方法:上面程序中,所有参数都需要配合外观进行调试。

建议大家按照下面顺序调整参数:

电机转速:电机转速要尽量调,这样颜色传感器有足够的时间进行检测,舵机有足够的时间转动。需要注意的是,速度设置的过小时,由于电池电压不够或者电机负载较大,电机会无法启动,发出堵转蜂鸣声,此时要及时切断电源,避免损伤电机。所以要将电机连接到传送装置后,再进行调试。

RGB判断值:大家可以先用串口查看各个颜色小球在颜色传感器下的反馈值,根据实际测得值修改程序中的判断范围。比如笔者在实际测量时,红色球在串口中R的读值约为60-80,为了提高辨识度,设定判断值为50。

等待时间:因为颜色识别在存储位置,而小球完成颜色识别分拣位置还需要传送装置进行传送,所以从颜色识别到分拣有一定延时,因此设定一个等待时间去消除这个延时。实际调试时一定要先确定好电机转速再调试等待时间,因为当转速改变,等待时间也要相应改变。

运行结果:将混色的糖果装进存储装置,糖果分拣机会自动按照颜色进行分拣。

更多创意
让颜色分拣机自动记录每种颜色糖果的个数也很简单,只要设定一些变量,每识别一次糖果,对应颜色糖果的变量加1,然后将结果显示在掌控板屏幕上即可。

如果你还有其他的奇思妙想,也可以动手试试喔!

构造外观
外观结构有多种实现方法,下图仅作示例:

201909042167.png
201909049690.png

评价与反思


与人分享快乐,能产生更多快乐,尝试向身边的亲人朋友展示你的糖果分拣机!你还可以在DF创客社区中分享作品,听听更多人的建议!

社区网址:www.dfrobot.com.cn

问卷调查
尝试让体验过你作品的人做下面的问卷表,看看在别人眼中这个作品的闪光点与不足。

截图5.png


自我反思
梳理自己设计项目的思维逻辑、项目在执行层面的问题和经验等等,可以帮助我们形成学习的闭环,加深在项目进行的过程中对知识点和内容的理解,找到可以改进和提高的地方。

截图6.png


gada888  版主

发表于 2019-10-16 21:06:24

这个真不错
回复 支持 反对

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

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

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

mail