关于抢答器

抢答器是通过设计电路,准确判断出抢答者的电器装置,在知识竞赛、文体娱乐活动中,能准确、公正、直观的判断出抢答者的座位号。更好的促进参与者的竞争以实,让选手们体验到战场般的压力感。

任务

  • 设计一个抢答器,有三个抢答按键和一个复位按键,并由三盏不同颜色的灯来指示抢答成功的选手。
  • 抢答按键按下,对应的灯亮起并持续5秒后熄灭。
  • 当某一选手抢答成功,对应的灯亮起后的5秒种内,其余两个灯处于熄灭状态,并且三个抢答按键按下无效。
  • 当抢答成功的选手指示灯熄灭后,进入下一次抢答,此时三个灯都熄灭,三个抢答按键有效。
  • 在某一选手抢答成功亮灯的同时播放对应的音效。
  • 任何时候按下复位键,指示灯熄灭,抢答按钮有效,系统处于初始状态。

工作原理

  • 在 G202 microbit 扩展模块的三个输入口分别连接三个 G19 按钮模块作为三个抢答按键。
  • 在 G202 microbit 扩展模块的三个输出口分别连接三个 G64 高亮 LED 作为三个指示灯,并在三个 G64 模块上扣上不同颜色的积木片,当三个灯亮起来时会显示不同的颜色。
  • microbit 读取三个按键的状态,并根据按键的状态点亮对应的灯,播放音效,实现抢答器的功能。

模型

抢答器全景侧式图.png

电路拼搭

抢答器模块拼搭图-横板.png

代码

初始化代码 设置变量并赋初始值为“0”; 设置micro:bit板载扬声器音量为250; 开机闪烁笑脸;

抢答器封面代码解析-1.png

复位代码

  • 使用 micro:bit 的板载按键 A 为复位按键;
  • 当按键A被按下时,将变量【开始抢答】和【抢答者】置为“0”,并将变量【复位】置为 “1”;
  • P8,P12和P16输出“0”,熄灭指示灯。

抢答器封面代码解析-2.png

抢答开始函数

  • 当【开始抢答】变量为“0”时,系统检测三个按钮是否被按下;
  • 如P0口按钮按下,抢答者为3号,变量【抢答者】设为“3”,将【开始抢答】变量置为“1”,跳出循环,不在判断另外两个按钮状态;
  • 当P0口按钮未按下,判断P1口按钮,如按下,抢答者为2号,变量【抢答者】设为“2”,将【开始抢答】变量置为“1”,跳出循环,不在判断另外两个按钮状态;
  • 当P0和P1都未按下,判断P2口按钮,如按下,抢答者为1号,变量【抢答者】设为“1”,将【开始抢答】变量置为“1”,跳出循环,不在判断另外两个按钮状态;

抢答器封面代码解析-3.png

抢答结束函数

  • 当【开始抢答】变量为“1”时,进入处理抢答结果的流程;
  • 如抢答者为3号,点亮P8口的灯,播放“咯咯笑”音效。每隔100ms检测一次变量【复位】的值,如果该值为“1”,说明复位按键A被按下,跳出循环,执行复位流程。如该值为“0”,继续循环,循环重复50次为5秒钟,5秒后熄灭P8口的灯。
  • 如抢答者为2号或1号,程序点亮对应的灯,并播放对应的音效。
  • 抢答结果处理完成后,将变量【开始抢答】设为“0”,以便程序可以进入下一次抢答开始函数。
  • 最后将变量【复位】设为“0”,以便程序下次可以进入复位流程。

抢答器封面代码解析-4.png

主循环

  • 由于我们编写了抢答开始函数和抢答结束函数,在主程序中我们只要循环这两个函数即可。

抢答器封面代码解析-5.png

视频

点击查看【bilibili】


回到文档中心