怀若谷 发表于 2020-8-16 20:33:52

快乐智造营 | 02 抢答器

本帖最后由 怀若谷 于 2020-8-16 21:08 编辑

本系列教程主要分享基于开源硬件和激光建模的创客作品的制作,每个作品涉及两三个电子模块的使用,让学习者能够轻松、扎实地掌握创客制作的知识和技能,并体会到智造的乐趣。
【目录】1.快乐智造营 | 01 贪吃的小鸡2.1 项目概述
图2-1   “抢答器”,如图2-1所示,是一个模拟实现现实中已有机器的功能的项目。通过该项目的学习,可以掌握数字按钮和LED灯的使用。       项目功能:第一个选手按下按钮后,其对应的LED灯亮起,其后按的动作无效,LED灯不会亮起;从而,很容易判断谁是第一次按下按钮的选手。一定时间后(本例为10秒),LED等自行熄灭,为下一次抢答做准备。https://v.qq.com/x/page/y3136tnnu3a.html演示视频2.2 材料准备
图2-2本项目所需要的硬件材料,如图2-2所示,分别为:(1)DFRduino Uno R31块(2)IO扩展板    1块(3)数字按钮    4个(4)LED灯       4个2.3 电子模块的使用
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-122.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.4.4.2 调试       安装好后,通电测试。2.5 思维拓展       对于今天制作的项目,你觉得还有什么改进之处,可以记录下来。等学习了更多的电子模块后,我们可以对其进行改进。       你能不能基于今天学习的硬件材料,设计出不一样的作品呢?

hnyzcj 发表于 2020-8-17 08:03:05

呃,脑筋急转弯题目不错。哈哈哈。大毛,二毛,小明的故事。

发表于 2022-4-16 14:22:00

hnyzcj 发表于 2020-8-17 08:03
呃,脑筋急转弯题目不错。哈哈哈。大毛,二毛,小明的故事。

哈哈哈      

发表于 2022-4-16 14:36:07

作品很好

happyblue 发表于 2023-3-14 18:17:02

激光切割的设计图能共享吗?

怀若谷 发表于 2023-3-17 08:06:44

happyblue 发表于 2023-3-14 18:17
激光切割的设计图能共享吗?

自己照着画一画,不难的
页: [1]
查看完整版本: 快乐智造营 | 02 抢答器