物联网:掌控板抢答器实验

创作缘由

大三上学期,我们的专业开设了一门物联网的课程,用到的教材是由刘伟善编著的《Arduino创客之路(智能感知技术基础)》以及使用的软件是国产青少年编程软件Mind+。为了记录和分享我的学习成果,我将编写且分享本学期此课程的全部实验作业。

实验目的及要求

实现掌控板抢答器功能

实验原理与内容

基于TinywebDB实现云数据库出题
基于掌控板实现按键抢答和判题
基于MQTT实现多端同步通讯

实验软硬件环境

硬件:掌控板
软件:Mind+

实验过程(实验步骤、记录、数据、分析)

本次实验以小组为单位进行,我们的选择是三人为一个小组合作进行。

  1. 实验步骤
    ① 在Mind+上连接掌控板,电脑连接上个人热点,在mind+上拓展中选择主控板为掌控板,网络服务为MQTT、WI-FI和TinyWebDB。
    ② 随后,主要是根据需要实现的内容在Mind+上进行图形化编程。首先是连接WIFI热点、MQTT初始化参数配置,设置5个topic用于接收掌控板发送的消息指令,以及相关变量初始化。
    ③ 出题操作。设置当按下A键时,进行出题。题目存储在TinyWebDB上,题目随机抽取,利用MQTT实现多端同步通讯,将题目显示到三人的掌控板上。
    ④ 抢答操作。当触摸按键Y(代表是)被接通,把变量ans赋值为“y”,当触摸按键N(代表否)被接通,把变量ans赋值为“n“,如果变量ans与正确答案相同时,则把该答题人的分数加10。
    ⑤ 判断题目对错操作。将答题人所做的触摸按键操作与存储在TinyWebDB中的正确答案对比。
    ⑥ 判断获胜者。当某个答题者的分数达到100分,将在掌控板显示获胜者名字以及显示下一步操作,表明结束本轮答题。
    ⑦ 计算抢答时间。当出题后,把此时的系统时间记录下来赋给一个变量。当答题者作答后再用系统时间减去这个变量,就可以得到答题者的作答时间。

  2. 核心代码
    已上传至github,可自行下载查看。代码资源地址:实验4_掌控板抢答器实验

  3. 实验效果图

出题

在这里插入图片描述
答题

在这里插入图片描述
获胜

在这里插入图片描述

测试、调试及结果分析

在实现基本功能后,我们的抢答器仍然有一些小缺陷,后来被我们排查后完善代码解决了这些缺陷。出现的小缺陷有:
① 按下的出题键“A”的掌控板,计时不清零,即累计上次的计时。
② 当某个出题者出题,只有该出题者的掌控板中有题目显示。其余两人的掌控板没有显示。
③ 答题者的答题数据缓存没有清除,即该答题者抢答本次题目时,上传的答案仍然是上次抢答的答案。

实验结论与体会

我们利用本次的实验原理和设备,还可以设计开发出更多实用的系统服务于人们。一些系统的实现并不容易。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值