怀若谷 发表于 2021-6-16 22:10:18

同学,请听题!

基于开源软硬件制作的党史知识答题系统
01 前 言
图1
      今年是中国共产党成立100周年,开展党史学习教育活动作为庆祝活动中的一项贯穿全年的重要活动,正在全国广大党员和群众中火热地进行着。教育活动形式多样,有参观教育基地、社区宣讲等。作为创客,我们有没有创新的方式进行学习呢?于是,我想到了制作一个简易的党史知识答题系统。

      该系统具有随机出题、自动评价的功能,带有语音播报,只要有Wi-Fi网络的地方都可以使用。这个项目使用的都是开源软硬件资源,便于广大创客朋友们学习制作。而且,由于可自行编程,题库可按需更换,功能也可以进行不断地升级。

   https://v.qq.com/x/page/a3249l03oj6.html
演示视频
注:本项目的演示中的,题目只选择了单选题,下面的教程也以回答单选题为例。判断题可以当成只有两个选项的单选题,而多选题则需要对程序进行进一步完善才能实现。

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版本吧,后期可以进行迭代改进,比如增加多项选择题答题;还可以将多个答题终端连入一个服务器,进行抢答;增加计分、错题汇总等功能。

rzyzzxw 发表于 2021-6-22 08:10:28

优秀的刘老师。

李兴宇 发表于 2021-6-30 10:51:57

今年是中国共产党成立100周年,开展党史学习教育活动作为庆祝活动中的一项贯穿全年的重要活动,正在全国广大党员和群众中火热地进行着。教育活动形式多样,有参观教育基地、社区宣讲等。
页: [1]
查看完整版本: 同学,请听题!