2022-1-17 11:07:59 [显示全部楼层]
592浏览
查看: 592|回复: 2

垃圾分类训练机

[复制链接]
12.JPG
【视频演示】
【制作背景】
作为人类唯一的家园,地球承载着我们的一切,我们在生产、生活中产生的大量垃圾,正在严重侵蚀我们的生存环境,为了不让地球超负荷工作,我们的维护任务刻不容缓,通过垃圾分类来提高垃圾的资源价值和经济价值,力争物尽其用,减少垃圾处理量和处理设备的使用,降低处理成本,减少土地资源的消耗,具有社会、经济、生态等几方面的效益。
       目前有许多创客朋友们都制作过与垃圾分类相关的一些作品,基本上都是围绕下面三种功能的:第一种是自动感应打开垃圾桶;第二种是说出垃圾的名称,通过语音识别技术判断垃圾并打开相应的垃圾桶;第三种是通过图像识别技术判断垃圾并打开相应的垃圾桶。而在垃圾分类的过程中,最重要的还是要使人们认识到垃圾分类的重要性,并且能够进行准确的分类,这样垃圾分类才能在不同的环境中有效的开展。为了使人们能够熟练记住各种垃圾的分类,于是我制作了垃圾分类训练机这个作品。

功能描述
       1、掌控板显示屏上会显示相关提示信息,比如题目、做对的题数和做错的题数等。
       2、从垃圾列表中随机抽取一种垃圾,并用语音合成模块播报题目,比如“干燥剂”是什么垃圾?而且题目会在显示屏上显示,如果没听清楚问题可以看屏幕了解。
       3、回答问题通过触摸相应的触摸开关进行,如果回答正确,相应垃圾桶上LED灯和掌控板上的LED灯亮绿色,并随机播报一句反馈的话;如果回答错误,相应垃圾桶上LED灯和掌控板上的LED灯亮红色,接着随机播报一句反馈的话,接着再播报正确答案,并且正确的垃圾桶上的LED灯亮绿色。
       4、会自动统计回答正确的题数和错误的题数,并在结束时语音播报出来。

【硬件清单】
       掌控板               1
       百灵鸽扩展板    1
       语音合成模块    1
       触摸开关           4
       RGB LED          4
       杜邦线等
       激光切割结构件


【结构设计与搭建】
       1、激光切割件设计
       我们先利用LaserMaker软件在电脑中设计出其外壳图纸,并用激光切割机切割椴木板及亚克力外壳。
外壳设计图.jpg

       2、把4个触摸开关传感器和4个RGB LED用热熔胶分别固定在垃圾桶上下的相应位置。如下图所示:
1.JPG

2.JPG

       3、把杜邦线焊接在各个模块的相应位置,这里我们把VCC和GND都连在一起,这样可以减少与扩展板连接线的数量,把4个RGB LED也连接在一起,DO接口与DI接口相连,这样就组成了一个4位的RGB灯带,4个触摸开关的输出接口各焊接一根杜邦线。如下图:
    3.JPG

       4、把语音合成模块安装在相应的位置,如下图所示:
5.JPG

6.JPG

       5、把百灵鸽扩展板和掌控板组装在一起并安装在右上角的相应位置。如下图:
7.JPG

6、把各个传感器模块上的杜邦线连接在百灵鸽扩展板相应的针脚上。如下图:
接线图.jpg

8.JPG

       7、把四个侧面板与上面板组装在一起。如下图:

9.JPG

10.JPG

       8、组装上底板。
11.JPG

       9、最后再把亚克力面板安装在面板的最上面,防止长时间的使用造成触摸按键旁边面板脏了。
12 - 副本.JPG

程序编写
       1、程序的编写软件是Mind+,打开Mind+软件,切换到上传模式,接着点击拓展打开拓展窗口。
13.png

       2、在主控板选项卡中选择掌控板。
14.png

       3、在执行器选项卡中选择语音合成模块。
15.png

       4、在显示器选项卡中选择WS2812 RGB后,单击返回到编程界面。
16.png

       5、接下来开始正式编写程序。我们先建4个函数,分别为添加可回收垃圾、添加易腐垃圾、添加有害垃圾和添加其它垃圾,然后再建立4个列表变量,分别添加一些常见的垃圾名称到相应的列表变量中,程序如下:
17.png

       6、接下来写初始化的相应程序,这一部分程序主要是对各模块进行初始化设置及屏幕信息显示等,还定义了开始、对、错3个变量,开始变量主要控制出题的开始与结束,对和错变量分别存放做对的题数和做错的题数。程序如下:
18.png

       7、在主程序的重复执行中判断开始变量的值,开始变量的值由按键A和按键B来控制,如果变量开始值为1时,先播报“请听题”语音,再执行出题、答题函数中的程序。详细程序如下:
19.png

       8、在出题函数中,其中类别变量对应四种垃圾类别,项目变量对应每种垃圾列表中的相应项,这样所有列表中的垃圾就可以通过类别和项目两个变量来表示,最后用题目变量来存放随机抽取的垃圾名称,也就是需要回答的题目。由于掌控板显示屏显示的文字不能直接调用列表变量中的文字,所以又用了垃圾名称这个函数来转化一下。最后用到重复执行直到指令,主要是为了实现出完题后一直等待答题,只有按了相应的按键后,才能继续执行下面的指令。如下图:
20.png

       9、垃圾名称函数中的部分程序如下图所示:
21.png

       10、答题的时候,我们是通过触摸相应垃圾桶下的触摸开关来进行的,所以在答题函数中用如果……否则如果……来判断按了哪个按键,再判断对错。如果是对的,变量对就增加1,相应的LED灯亮绿色,并执行正确回答反馈函数中的程序;如果回答错误,相应的LED灯亮红色,接着执行错误回答反馈中的程序,再让正确答案垃圾桶上的LED灯亮绿色,并进行相应的语音播报。如下图所示:
22.png

       11、正确回答函数中程序如下图所示,目的是为了使反馈语言多样化。
23.png

       12、错误回答函数中的程序如下图所示:
24.png

       13、按键A和B中的程序如下图,主要是通过它们来控制是否出题。做对的和做错的题数除了屏幕上随时显示外,当按下结束键时(B键),还会通过语音播报出来。
25.png

       14、完整程序如下图所示:
26.png

拓展
       这个垃圾分类训练机目前的功能就是机器自动出题,我们来回答,系统会进行相应的信息反馈,就是机器出题,我们来判断。其实还可以倒过来,由我们出题,机器来判断,实现这样的功能我们只要再加上语音识别模块,这样我们说垃圾名称,通过语音识别模块进行识别,机器再加以判断,这样可玩性就更高了。




  作者其它帖子  

  ◆ 捡球机器人  
  ◆ 百变乐器
  ◆ 留言机  
  ◆ 智能储蓄罐   
  ◆ 看得见的心跳  
  ◆ 保险箱  
  ◆ 激光打靶器  
  ◆ DIY留声机  
  ◆ 智能马桶  
  ◆ 坐姿矫正仪  
  ◆ 龙舟
  ◆ 多脚怪








Youboring  见习技师

发表于 2022-1-23 14:19:32

本帖最后由 Youboring 于 2022-1-23 15:00 编辑

博fdgsdf gdfg
回复

使用道具 举报

小企鹅  高级技师

发表于 2022-3-16 20:13:28

厉害厉害
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail