内容正文:
创意智造第7课
模拟智能抢答器(按钮)
信息科技暑假夏令营培训
授课教师:君君
目录
数字大按钮模块
数字蜂鸣器
数字触摸传感器
按钮控制LED和蜂鸣器
数字按钮抢答器
情景导入
同学们,在知识竞赛、抢答知识竞赛的比赛中,大家最担心什么问题?
没错!在没有抢答器的情况下,只靠举手示意的抢答方案,多人同时举手、分不清谁举手、拍手抢答,老师肉眼很难分辨先后,容易产生争议。
所以在专业竞赛里,都会使用智能电子抢答器:
主持人统一开启抢答权限,没开始按的全部无效;
谁最先按下按钮,设备立刻识别、灯光提示、声音提醒,
并且自动锁定系统,后面再按全部无效,保证比赛绝对公平。
数字大按钮模块
按钮
数字大按钮是数字输入模块,相当于电子开关,用来向主控板发送 “按下 / 松开” 信号,当数字按钮按下,模块输出数值1,
可以通过串口输出,当数字按钮松开时,模块输出
数字0,通过串口输出。
信号模拟输出:
按钮按下——OUT输出1(高电平)
按钮松开——OUT输出0(低电平)
按钮
引脚说明
标号 引脚 引脚说明
1 VCC 电源正极
2 GND 电源负极
3 D 模块数字信号输出
连接规则:
数字大按钮连接到aduino uno的数字引脚D2;
LED模块连接到aduino uno 的数字引脚D4;
LED除了mind+的内置模块外,还可以使用引脚输出的高低电平控制LED灯的亮灭。
按钮
硬件:
aduino uno r3 X1
uno 扩展板 X1
数字大按钮 X1
LED模块 X1
3P杜邦线若干
思考:在aduino uno连接了数字大按钮之后,
再连接LED模块,按钮控制LED的亮灭。
按钮
按钮
前面的程序,当按钮按下时,LED灯就亮;当松开按钮时,LED灯就熄灭了。
思考:现在需要做一个按钮控制LED灯的程序,当按钮第一次按下时,LED灯就一直亮,当按钮第二次按下时,按钮就熄灭。
按钮
将【灯状态】设为0
重复无限执行
如果 D2=1
如果 灯状态=0
灯状态设为1
D4高电平
否则
灯状态设为0
D4低电平
等待0.3秒
数字蜂鸣器模块
有源蜂鸣器
蜂鸣器分为两种,一种是有源蜂鸣器,另外一种是无源蜂鸣器。
有源蜂鸣器是一种数字输出执行器,通电就能发出固定音调的声音,常用于作品声音提醒、报警提示。
无源蜂鸣器也是一种数字输出执行器,它不能直接通电发声!需要输入不断变化的方波信号(频率)。通过改变频率,可以发出高低不同音调,能够播放乐曲。适合制作电子琴、音乐播放器、八音盒、旋律提醒装置。
有源蜂鸣器
引脚说明:
标号 名称 功能描述
1 GND 电源负极
2 VCC 电源正极
3 SIGNAL 数字信号线
蜂鸣器模块根据输入信号的不同来控制蜂鸣器,其机制如下:
输入“开”或“1”,蜂鸣器鸣叫。
输入“关”或“0”,蜂鸣器停止鸣叫。
当使用数字信号控制蜂鸣器模块时, 输入高电平,蜂鸣器开始鸣叫;输入低电平,蜂鸣器停止鸣叫。
有源蜂鸣器
硬件:
aduino uno r3 X1
uno 扩展板 X1
有源蜂鸣器 X1
3P杜邦线(若干)
连接规则:
有源蜂鸣器连接到aduino uno的D3引脚。
有源蜂鸣器
数字触摸传感器
数字触摸传感器
这是一个基于电容感应的触摸开关模块。人体或金属在传感器金属面上的直接触碰会被感应到。
除了与金属面的直接触摸,隔着一定厚度的塑
料、玻璃等材料的接触也可以被感应到,感应灵敏
度随接触面的大小和覆盖材料的厚度有关。
数字触摸传感器
引脚说明:
标号 引脚 功能说明
1 GND 电源正极
2 VCC 电源负极
3 D0 数字信号输出
连接规则:
数字触摸传感器连接到aduino UNO的D2引脚
单色LED灯连接到aduino UNO的D3引脚。
当手指触摸到数字触摸传感器后:
触摸后传感器持续输出数字1;
没有触摸传感器持续输出数字0.
数字触摸传感器
硬件:
aduino UNO R3 X1
uno 扩展板 X1
数字触摸传感器 X1
单色LED灯 X1
3P杜邦线(若干)
数字触摸传感器
按钮控制LED和蜂鸣器
防盗展示台功能介绍
防盗展示台硬件和连接
防盗展示台流程图
防盗展示台代码
按钮控制LED和蜂鸣器——防盗展示台
项目:防盗展示台
功能:物品放在按钮上面,相当于按钮被按下,LED灯和蜂鸣器都不会启动;当物品离开展厅,相当于松开按钮,LED灯闪烁,有源蜂鸣器间歇发出 “滴滴” 报警声。
核心逻辑:
按钮按下(高电平)= 物品在位:关闭 LED、关闭蜂鸣器;
按钮松开(低电平)= 物品被盗:LED 亮灭交替闪烁,蜂鸣器同步间歇鸣叫。
按钮控制LED和蜂鸣器——防盗展示台
硬件:
aduino uno r3 X1
UNO 扩展板 X1
数字大按钮 X1
单色LED模块 X1
有源蜂鸣器 X1
连接规则:
数字大按钮连接到aduino uno的D2引脚;
单色LED模块连接到aduino uno的D13引脚;
有源蜂鸣器连接到aduino uno的D9引脚。
按钮控制LED和蜂鸣器——防盗展示台
1.数字输出 D13 → 低电平(初始关灯)
2.数字输出 D9 → 低电平(初始静音)
3.重复执行:(while死循环)
条件判断:如果数字读取 D2 == 高电平
执行:数字输出 D13 → 低电平
执行:数字输出 D9 → 低电平
否则(按钮松开,触发报警):
数字输出 D13 → 高电平(LED 亮)
数字输出 D9 → 高电平(蜂鸣响)
等待0.5S
数字输出 D13 → 低电平(LED 灭)
数字输出 D9 → 低电平(蜂鸣停)
等待0.5S
按钮控制LED和蜂鸣器——防盗展示台
数字按钮抢答器
数字按钮抢答器功能介绍
数字按钮抢答器硬件和连接
数字按钮抢答器流程图
数字按钮抢答器代码
数字按钮抢答器
项目:两队竞赛抢答器
项目详情:A、B两队在抢答前,主持人触摸数字触摸传感器开启抢答允许、复位系统;A、B两组选手按下大按钮进行抢答;最先按下的队伍对应 LED 亮起,蜂鸣器发声,锁定抢答;其他按钮暂时失效。
核心逻辑:
触摸数字触摸传感器,实现「开启抢答权限 / 复位系统」双重功能
A、B 两队各配 1 个大按钮、1 个对应 LED 灯
主持人开启抢答后,最先按下按钮的队伍对应 LED 常亮、蜂鸣器发出提示音,系统自动锁定抢答通道,另一队按钮暂时失效
LCD1602 屏幕实时显示当前状态(就绪 / 开始抢答 / 某队抢答成功)
数字按钮抢答器
通过两个布尔状态变量实现完整规则,是本项目的编程核心:
允许抢答:主持人总开关,初始值为「假」,主持人触摸后变为「真」
抢答锁定:抢答成功锁死通道,初始值为「假」,有队伍抢答成功后变为「真」
程序执行逻辑
循环检测主持人触摸按键:
若当前未开启抢答、也未锁定:触摸后开启抢答权限,屏幕显示「开始抢答!」
若已有抢答结果:触摸后复位系统(熄灭 LED、停止蜂鸣、重置变量、屏幕回到就绪状态)
仅当「允许抢答 = 真 且 抢答锁定 = 假」时,才检测两队按钮:
A 队先按下:A 队 LED 亮、蜂鸣器响、锁定抢答、屏幕显示「A 队抢答成功」
B 队先按下:B 队 LED 亮、蜂鸣器响、锁定抢答、屏幕显示「B 队抢答成功」
锁定后,另一队按钮不再响应,直到主持人复位。
数字按钮抢答器
硬件:
Arduino uno r3 X1
数字大按钮模块 X2
单色 LED 灯 X2
有源蜂鸣器 X1
数字触摸传感器 X1
IIC 接口 LCD1602 液晶屏 X1
3P、4P 杜邦线若干
连接规则:
数字触摸传感器连接到aduino uno的D2引脚;
A队数字大按钮连接到aduino uno的D3引脚;
A队LED灯连接到aduino uno的D11引脚;
B队数字大按钮连接到aduino uno的D4引脚;
B队LED灯连接到aduino uno的D12引脚;
有源蜂鸣器连接到aduino uno的D9引脚;
IIC LCD1602连接到aduino uno的IIC引脚
数字按钮抢答器
死循环前对变量、屏幕、LED灯和蜂鸣器进行初始化设置:
新建变量”允许抢答”,初始值设为:假
新建变量”抢答锁定”,初始值设为:假
初始化LCD1602 IIC(串口地址默认)
设置引脚D11、D12、D9为输出模式,D2、D3、D4为输入模式
数字输出D11、D12、D9均为低电平(初始关闭)
LCD 清屏;
打印come go(无法显示中文,抢答器就绪使用:come go替代)
数字按钮抢答器
主循环积木:(第一部分:主持人触摸按键控制)
条件判断:如果数字读取D2==高电平
等待0.5秒(按键消抖)
嵌套判断:如果“允许抢答==假”and“抢答锁定==假”
设置 允许抢答=真
LCD 清屏,打印“go!”(无法显示中文,允许抢
答使用:go替代)
否则(执行复位)
设置“允许抢答=假”
设置“抢答锁定=假”
数字输出D11、D12、D9 →低电平
LCD 清屏,打印come go!
数字按钮抢答器
第二部分:两队抢答检测
条件判断:如果”允许抢答==真”and”抢答锁定==假”
嵌套判断 1:如果数字读取D3==高电平(A 队按下)
设置”抢答锁定=真”
数字输出:D11→高电平(A 灯亮)
数字输出:D9→高电平(蜂鸣响)
等待2S
数字输出D9→低电平(蜂鸣停,LED保持常亮)
LCD清屏,打印“A 队抢答成功”
数字按钮抢答器
嵌套判断 2:如果数字读取D4==高电平(B 队按下)
设置“抢答锁定=真”
数字输出:D12→高电平(B 灯亮)
数字输出:D9→高电平(蜂鸣响)
等待2S
数字输出:D9→低电平
LCD 清屏,打印”B 队抢答成功“
感谢聆听!
信息科技暑假夏令营培训
授课教师:君君
$