7981| 5
|
[进阶] 快乐智造营 | 02 抢答器 |
本帖最后由 怀若谷 于 2020-8-16 21:08 编辑 本系列教程主要分享基于开源硬件和激光建模的创客作品的制作,每个作品涉及两三个电子模块的使用,让学习者能够轻松、扎实地掌握创客制作的知识和技能,并体会到智造的乐趣。 【目录】 2.1 项目概述图2-1 “抢答器”,如图2-1所示,是一个模拟实现现实中已有机器的功能的项目。通过该项目的学习,可以掌握数字按钮和LED灯的使用。 项目功能:第一个选手按下按钮后,其对应的LED灯亮起,其后按的动作无效,LED灯不会亮起;从而,很容易判断谁是第一次按下按钮的选手。一定时间后(本例为10秒),LED等自行熄灭,为下一次抢答做准备。 演示视频 2.2 材料准备图2-2 本项目所需要的硬件材料,如图2-2所示,分别为: (1)DFRduino Uno R3 1块 (2)IO扩展板 1块 (3)数字按钮 4个 (4)LED灯 4个 2.3.1 数字按钮模块 图2-3 数字按钮模块,就是常见的按键开关。其属于数字输入设备,可分为按钮被按下和按钮未被按下两种状态,两种状态分别会传输不同的数值(0或1)给主控板。通常,按钮被按下时,会输入1,未按下时输入0。但是也有相反的情况,需要在使用前进行测试。连接时,可以连接到任一引脚(不建议连接引脚D0和D1)。连接示例如图2-3所示,GND、VCC、数据三个引脚要分别对应。 *说明:本教程中部分硬件连接图引用了DF创客商城的产品文档中的图片,仅供学习用途。 图2-4 在编程软件Mind+中,对应的积木为【读取数字引脚(0)】,在【引脚操作】中可找到,如图2-4所示。我们可以编写一段程序,将读取到按钮输入值通过串口打印的方式显示出来。程序及输出结果,如图2-5所示。 图2-5 根据测试结果,可以进行定性判断:到底是按下按钮时数值为1、未按下时数值为0,还是相反的情况。 2.3.2 LED发光模块图2-6 LED发光模块,通常称之为LED灯,是创客制作中常用的输出设备。我们可以通过程序指令控制LED灯点亮或者熄灭,还可以控制灯以不同的亮度亮起。 在与Arduino Uno主控板连接时,可以连接任一引脚。连接示例如图2-6所示,GND、VCC、数据三个引脚要分别对应。 图2-7 在编程软件Mind+中,要控制LED灯的亮灭,对应的积木为【设置数字引脚(1)输出为(高电平)】,也在【引脚操作】中可找到,如图2-7所示。当输出高电平时,LED灯亮起;当输出低电平时,LED灯熄灭。示例程序如图2-8所示,该程序执行的结果是使接在引脚D2上的LED灯先亮起3秒然后熄灭。 图2-8 2.4 项目制作 2.4.1 硬件搭建 将数字按钮模块分别连接到扩展板的D2、D3、D4、D5引脚、LED发光模块分别连接到A2、A3、A4、A5引脚,如图2-9所示。 图2-9 2.4.2 编写程序 2.4.2.1 测试硬件连接 图2-10 编写如图2-10所示的程序,上传到设备,测试4个按钮能否控制4个LED灯亮起。如果不能正常亮起,需要检查各电子模块连接是否正确。 2.4.2.2 编写程序 本项目采用了我编写的《人工智能趣味入门:光环板程序设计》一书中的《比比谁手快》项目的思路。有兴趣的朋友可点击下方链接查看此书介绍。 编程思路:用一个变量“是否有人按过?”来记录当前是否已有按钮被按下的情况,默认为0。当某个按钮被按下时,根据变量的值来判断其是否为第一个被按下的按钮,如果是则更改变量的值为1,从而阻止其他按钮的触发指令执行,同时点亮对应的LED灯;等待10秒后,自行熄灭,并将变量值设为0,为下一轮抢答做准备。 根据编程思路,编写出程序,示例程序如图2-11所示。编好程序后,上传到设备,进行初步的测试。 图2-11 注意:使用数字按钮模块时,一般需要进行“去抖”,以防止连续触发(因为人认为的按下一次,对于计算机来说已经是N次了)。常用的处理方法是,把“按下-抬起”视为一个有效触发动作,一直按着无效,必须等按键弹起后才算一次触发,示例程序段见图2-12所示:当引脚D2上连接的数字按钮被按下后,一直等待,直到按钮被释放,然后执行后面的亮灯指令。 图2-12 2.4.3 设计切割外型使用激光建模软件进行外型的设计,设计图如图2-13所示。 图2-13 图纸设计好后,使用激光切割机进行切割。切割好的木板件如图2-14所示。 图2-14 2.4.4 装配调试 2.4.4.1 组装 将切割好的木板和硬件进行组装,步骤如图2-15、图2-16所示。 图2-15 (1)组装好四个桌子的四面 (2)将桌子固定到底盒的顶板 (3)组装底盒的五个面,安装主控板 (4)将所有的线拔下,分别穿过4个桌子 (5)重新将电子模块接上扩展板 (6)安装LED发光模块 图2-16 (7)将数字按钮模块安装在桌子的顶板上 (8)将底盒的顶板与其他部分组合起来 (9)安装桌子的顶板 安装好后,通电测试。 2.5 思维拓展 对于今天制作的项目,你觉得还有什么改进之处,可以记录下来。等学习了更多的电子模块后,我们可以对其进行改进。 你能不能基于今天学习的硬件材料,设计出不一样的作品呢? |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed