快乐智造营 | 02 抢答器

2020-08-161.4万
精华项目
AI 快速预览详细 收起
本教程介绍了如何制作一个抢答器,使用了DFRduino Uno R3主控板、数字按钮和LED灯等硬件材料。通过编程控制,第一个按下按钮的选手对应的LED灯会亮起,其他动作无效。项目还包括设计切割外型和装配调试步骤。适合STEM教育场景,锻炼孩子的动手能力和逻辑思维。


本系列教程主要分享基于开源硬件和激光建模的创客作品的制作,每个作品涉及两三个电子模块的使用,让学习者能够轻松、扎实地掌握创客制作的知识和技能,并体会到智造的乐趣。
【目录】
2.1 项目概述
快乐智造营 | 02 抢答器图1

图2-1
     “抢答器”,如图2-1所示,是一个模拟实现现实中已有机器的功能的项目。通过该项目的学习,可以掌握数字按钮和LED灯的使用。
       项目功能:第一个选手按下按钮后,其对应的LED灯亮起,其后按的动作无效,LED灯不会亮起;从而,很容易判断谁是第一次按下按钮的选手。一定时间后(本例为10秒),LED等自行熄灭,为下一次抢答做准备。
演示视频
2.2 材料准备
快乐智造营 | 02 抢答器图2
图2-2
本项目所需要的硬件材料,如图2-2所示,分别为:
(1)DFRduino Uno R3  1块
(2)IO扩展板    1块
(3)数字按钮    4个
(4)LED灯       4个
2.3 电子模块的使用
2.3.1 数字按钮模块
快乐智造营 | 02 抢答器图4

图2-3

       数字按钮模块,就是常见的按键开关。其属于数字输入设备,可分为按钮被按下和按钮未被按下两种状态,两种状态分别会传输不同的数值(0或1)给主控板。通常,按钮被按下时,会输入1,未按下时输入0。但是也有相反的情况,需要在使用前进行测试。连接时,可以连接到任一引脚(不建议连接引脚D0和D1)。连接示例如图2-3所示,GND、VCC、数据三个引脚要分别对应。
       *说明:本教程中部分硬件连接图引用了DF创客商城的产品文档中的图片,仅供学习用途。
快乐智造营 | 02 抢答器图3
图2-4
       在编程软件Mind+中,对应的积木为【读取数字引脚(0)】,在【引脚操作】中可找到,如图2-4所示。我们可以编写一段程序,将读取到按钮输入值通过串口打印的方式显示出来。程序及输出结果,如图2-5所示。
快乐智造营 | 02 抢答器图5
图2-5

     根据测试结果,可以进行定性判断:到底是按下按钮时数值为1、未按下时数值为0,还是相反的情况。
2.3.2 LED发光模块
快乐智造营 | 02 抢答器图6
图2-6
     LED发光模块,通常称之为LED灯,是创客制作中常用的输出设备。我们可以通过程序指令控制LED灯点亮或者熄灭,还可以控制灯以不同的亮度亮起。
        在与Arduino Uno主控板连接时,可以连接任一引脚。连接示例如图2-6所示,GND、VCC、数据三个引脚要分别对应。
快乐智造营 | 02 抢答器图7

图2-7
      在编程软件Mind+中,要控制LED灯的亮灭,对应的积木为【设置数字引脚(1)输出为(高电平)】,也在【引脚操作】中可找到,如图2-7所示。当输出高电平时,LED灯亮起;当输出低电平时,LED灯熄灭。示例程序如图2-8所示,该程序执行的结果是使接在引脚D2上的LED灯先亮起3秒然后熄灭。
快乐智造营 | 02 抢答器图8
图2-8

2.4 项目制作
2.4.1 硬件搭建
     将数字按钮模块分别连接到扩展板的D2、D3、D4、D5引脚、LED发光模块分别连接到A2、A3、A4、A5引脚,如图2-9所示。
快乐智造营 | 02 抢答器图9
图2-9

2.4.2 编写程序
2.4.2.1 测试硬件连接
快乐智造营 | 02 抢答器图10
图2-10

        编写如图2-10所示的程序,上传到设备,测试4个按钮能否控制4个LED灯亮起。如果不能正常亮起,需要检查各电子模块连接是否正确。
2.4.2.2 编写程序
         本项目采用了我编写的《人工智能趣味入门:光环板程序设计》一书中的《比比谁手快》项目的思路。有兴趣的朋友可点击下方链接查看此书介绍。
        编程思路:用一个变量“是否有人按过?”来记录当前是否已有按钮被按下的情况,默认为0。当某个按钮被按下时,根据变量的值来判断其是否为第一个被按下的按钮,如果是则更改变量的值为1,从而阻止其他按钮的触发指令执行,同时点亮对应的LED灯;等待10秒后,自行熄灭,并将变量值设为0,为下一轮抢答做准备。
根据编程思路,编写出程序,示例程序如图2-11所示。编好程序后,上传到设备,进行初步的测试。
快乐智造营 | 02 抢答器图16快乐智造营 | 02 抢答器图17
图2-11
        注意:使用数字按钮模块时,一般需要进行“去抖”,以防止连续触发(因为人认为的按下一次,对于计算机来说已经是N次了)。常用的处理方法是,把“按下-抬起”视为一个有效触发动作,一直按着无效,必须等按键弹起后才算一次触发,示例程序段见图2-12所示:当引脚D2上连接的数字按钮被按下后,一直等待,直到按钮被释放,然后执行后面的亮灯指令。
快乐智造营 | 02 抢答器图11
图2-12
2.4.3 设计切割外型
        使用激光建模软件进行外型的设计,设计图如图2-13所示。
快乐智造营 | 02 抢答器图12
图2-13

        图纸设计好后,使用激光切割机进行切割。切割好的木板件如图2-14所示。
快乐智造营 | 02 抢答器图13
图2-14

2.4.4 装配调试
2.4.4.1 组装
        将切割好的木板和硬件进行组装,步骤如图2-15、图2-16所示。

快乐智造营 | 02 抢答器图14
图2-15
(1)组装好四个桌子的四面
(2)将桌子固定到底盒的顶板
(3)组装底盒的五个面,安装主控板
(4)将所有的线拔下,分别穿过4个桌子
(5)重新将电子模块接上扩展板
(6)安装LED发光模块
快乐智造营 | 02 抢答器图15
图2-16
(7)将数字按钮模块安装在桌子的顶板上
(8)将底盒的顶板与其他部分组合起来
(9)安装桌子的顶板
2.4.4.2 调试   
    安装好后,通电测试。
2.5 思维拓展
        对于今天制作的项目,你觉得还有什么改进之处,可以记录下来。等学习了更多的电子模块后,我们可以对其进行改进。
       你能不能基于今天学习的硬件材料,设计出不一样的作品呢?


创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
happyblue
happyblue
激光切割的设计图能共享吗?
怀若谷
怀若谷
作者
回复happyblue
自己照着画一画,不难的
诩
作品很好
hnyzcj
hnyzcj
呃,脑筋急转弯题目不错。哈哈哈。大毛,二毛,小明的故事。
诩
回复hnyzcj
哈哈哈
- 没有更多了 -