4762| 2
|
[项目] 同学,请听题! |
基于开源软硬件制作的党史知识答题系统 01 前 言 ![]() 图1 今年是中国共产党成立100周年,开展党史学习教育活动作为庆祝活动中的一项贯穿全年的重要活动,正在全国广大党员和群众中火热地进行着。教育活动形式多样,有参观教育基地、社区宣讲等。作为创客,我们有没有创新的方式进行学习呢?于是,我想到了制作一个简易的党史知识答题系统。 该系统具有随机出题、自动评价的功能,带有语音播报,只要有Wi-Fi网络的地方都可以使用。这个项目使用的都是开源软硬件资源,便于广大创客朋友们学习制作。而且,由于可自行编程,题库可按需更换,功能也可以进行不断地升级。 演示视频 注:本项目的演示中的,题目只选择了单选题,下面的教程也以回答单选题为例。判断题可以当成只有两个选项的单选题,而多选题则需要对程序进行进一步完善才能实现。 02 实 现 原 理 ![]() 图2 使用一台安装了Mind+编程软件的计算机作为服务器,执行出题和评价任务。使用两块掌控板组成答题端,执行发送答题请求、提交答案、显示题目和反馈信息等任务,其中一块掌控板只用于接收并显示题目的备选选项。电脑及两块掌控板之间通过MQTT协议进行通讯,使用了Easy IoT平台提供的服务。 当按下答题端的“出题”按钮后,会向服务器发送一个“请出题”的信息;服务器收到后,从题库中随机抽题,再分别将题目的题干和备选选项发送到答题端的两块掌控板上。当按下答题端的某个选项按钮(A、B、C、D)后,会向服务器发送相应的信息;服务器收到后,将提交的答案与正确答案进行比对,如回答正确时发送“回答正确”信息,如回答错误则发送“回答错误”信息 ,并发送正确的答案。答题端还使用了语音合成模块对评价进行播报。实际上,也可以实现对题目的播报,根据需要进行小小的程序修改即可。 03 准 备 工 作 1. 计算机及编程软件 ![]() 图3 ![]() 图4 (1)一台连接到互联网的计算机(图3) (2)编程软件:Mind+ V1.7.0(图4) 下载网址:http://mindplus.cc/ 2.Easy IoT平台注册及配置 ![]() 图5 (1)进入Easy IoT主页进行注册、登录(图5) 网址:https://iot.dfrobot.com.cn ![]() 图6 (2)进入工作间,添加两个新设备并进行命名、设置信息上限等设置(图6) 3.开源电子模块 ![]() 图7 (1)掌控板 2块 (2)扩展板 1块 (3)语音合成模块 1个 (4)数字按钮模块 5个 4. 其他材料 (1)3mm椴木板 (2)3mm亚克力板(红色、黄色) (3)M3螺丝螺母 (4)丙烯颜料(黄色) (5)亚克力胶水或者玻璃胶 04 制 作 步 骤 1. 硬件搭建 ![]() 图8 (1)将掌控板和扩展板组装在一起 (2)将各个电子模块连接到扩展板的引脚,具体连接方式如上图(图8)所示。 语音合成模块(串口)——P0、P1 数字按钮模块——P2、P13、P14、P15、P16 连接好的实物连接图如下图(图9)所示。 ![]() 图9 2. 编写程序 (1)出题端程序 ![]() ![]() 图10 1)将题目分解为题干、备选选项和答案,存为三个独立的txt格式文档(图10)。 ![]() 图11 ![]() 图12 2)打开Mind+软件,切换到实时模式(图11),加载“MQTT”扩展包(图12)。 ![]() 图13 3)建立3个列表(题干、选项、答案),分别将3个txt格式文档中的内容导入到列表中(图13)。 ![]() 图14 4)设置MQTT初始化参数(图14)。 5)根据预先设计的功能进行程序编写,完整程序如下图(图15)所示。 ![]() 图15 (2)答题端(掌控板01)程序 ![]() 图16 1) 以上传模式运行Mind+软件(图16)。 ![]() 图17 ![]() 图18 ![]() 图19 2) 加载“掌控板”、“Wi-Fi”、“MQTT”和“语音合成模块”扩展包(图17、图18、图19)。 ![]() 图20 3) 对语音合成模块、Wi-Fi、MQTT(图20)进行初始设置。 ![]() 图21 4) 准备一张分辨率为128*64的黑白图片,内容为“1921”(图21)。 5)根据预先设计的功能进行程序编写,完整程序如下图(图22)所示。 ![]() 图22 (3)显示选项端(掌控板02)程序 ![]() 图23 ![]() 图24 显示选项端程序较简单,只需要将接收到的选项信息显示在屏幕上即可。需要注意的地方:①MQTT初始参数中的Topic_0需要填写“掌控板02”的topic(图23)。②按下A按钮显示的图片内容为“2021”(图24)。 完整程序见下图(图25)所示。 ![]() 图25 3. 造型与结构设计 ![]() 图26 使用LaserMaker软件进行建模(图26),为了兼顾功能与美观,同时使用了椴木板和亚克力材料。 4. 切割加工 ![]() ![]() 图27 使用激光切割机进行板材切割加工(图27)。 5. 组装成型 ![]() 图28 (1)组装木盒的五个面(图28)。 ![]() 图29 (2)将语音识别模块和数字按钮模块安装到顶板上,需要使用螺丝螺母紧固(图29)。 ![]() 图30 (3)装上顶板,重新接好数据线(图30)。 ![]() 图31 (4)使用胶水将红色亚克力板粘合起来(图31)。 ![]() 图32 (5)将亚克力外壳套在木盒上,可打点热熔胶固定(图32)。 ![]() 图33 (6)装上“100”字样的亚克力板,将两块掌控板固定在预定位置(图33) ![]() 图34 (7)将黄色亚克力制件粘贴到预定位置(图34)。 ![]() 图35 (8)使用丙烯颜料在雕刻处进行涂抹,以使标识更加清晰(图35)。 ![]() 图36 (9)通电调试各项功能是否能正常运行(图36)。 05 后 记 本项目有很多种可行性方案,比如最简单的只用一块掌控板就可以实现离线答题;而选择使用两块掌控板主要是为了让外观更具对称性、让题目信息更加完整便于阅读;采用服务器进行出题,是为了便于处理题库,直接导入文本文档即可。 这个只能算是一个1.0版本吧,后期可以进行迭代改进,比如增加多项选择题答题;还可以将多个答题终端连入一个服务器,进行抢答;增加计分、错题汇总等功能。 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed