第三章 科创板-按键驱动

大创实验室
2020-06-23


第三章第1课 科创板-按键驱动




1、了解按键的工作原理;

2、掌握驱动板载按键的方法;

3、通过编程实现按键驱动板载多彩LED灯工作。

1
按键——Science

按键是一种电子开关,按下时开关会闭合接通,当撤销压力时开关立刻断开,它是靠感受金属弹片受力变化来实现通断的。在电子电路中,常作为一种触发事件来使用,常见的触发方式有:按键的状态(按键按下、按键松开),按键的变化(按键由按下变为松开、按键由松开变为按下),更加复杂的触发方式例如按键长按3秒、5秒,按键连续按几次如鼠标的双击等。


无声按键展示图

二、按键工作原理——Engineering and Technology


科创板板载无声按键

STEAM百科

按键控制原理

按键的状态监测:根据按键对应管脚的电平来检测按键的状态,在数字电路中,二进制只有0和1,常见的正逻辑即高电平为“1”,低电平为“0”。科创板按键对应的电平关系如下表(其中按键左的逻辑与其他按键的逻辑是相反的):


按键上

按键下

按键左

按键右

确认键

返回键

按下

1

1

0

1

1

1

松开

0

0

1

0

0

0

按键抖动原理

在按键的操作中,可能会出现按键抖动,这是由按键的机械特性决定的,抖动的时间一般为5ms~10ms。这是一个很重要的时间参数,按键抖动会引起一次按键按动被误读多次,我们一般在程序里面加延时模块去除按键抖动的影响。


三、试验与科学——Technology and Math

1、驱动板载按键

科创板板载无声按键共有六个,每个按键对应的管脚如下:


按键上

按键下

按键左

按键右

确认键

返回键

科创板管脚

12

23

36

2

16

19

认识“获取数字输入的值”代码块

“获取数字输入的值”代码块位于“输入/输出”模块分类中,其作用是获取指定管脚的数字输入值。


认识“等式\不等式”代码块

“等式\不等式”代码块位于“逻辑”模块分类中,包含多种关系符号,如下图所示。


当两个结果,能够满足相应判定条件的时候,就返回“真”,反之,则返回“假”。



刚才我们已经学过,高电平为“1”,低电平为“0”。因此我们可以用 表示按键上按下,另外在逻辑判断中“1”又为可判断为“真”,“0”判断为“假”,因此按键上按下还可以表示为 ,或者直接用 也可以。

认识“如果…执行…”代码块

“如果…执行…”代码块位于“控制”模块中,它会判断相关条件,如果值为“真”,会执行下属框中的相应程序。


因为按键上与绿色LED灯对应管脚号同为12,所以我们先用按键右来测试按键驱动(按键是输入部分,所以初始化的时候要改为“数字输入”)。


将上面的程序下载到科创板后,按下按键右,板载红色LED灯点亮1秒后熄灭。

2、板机互动

认识“打印(自动换行)”代码块

“打印(自动换行)”代码块位于“串口”模块中,它的作用是打印指定的文字、数字或其他值,并在结尾自动换行。


认识“非”代码块

“非”代码块位于“逻辑”模块中,它的作用是判断其后的输入结果,如果输入结果为假,则返回值为真;如果输入结果为真,则返回值为假。



接下来,我们以按键上、下、左、右四个按键为例,编写利用这四个按键实现板机互动的程序:


因为按键左的逻辑与正常逻辑是反的,所以运用“非”代码块对其进行取反,这样测得的值就是正常的逻辑值了。将上面的程序下载到科创板,并按下相应的按键,就会在信息窗口看到相对应的信息了。


3、按键控制LED灯亮度

接下来我们用按键和pwm来实现按键控制灯的亮度,每一次按右键,红色灯亮度逐次增加,共有0到4四个亮度级别。

在这里我们会用到“如果…执行…”代码块的拓展功能,单击 上方的蓝色齿轮,会弹出 。将“否则如果”块拖入弹出窗口的“如果”中 ,可得到“如果-否则如果”程序块;再次单击蓝色齿轮,可关闭窗口,出现

“如果-否则如果”代码块有四个接口,“如果”接口插入判断条件为“真”,运行“执行”接口中的程序;“如果”接口插入判断条件为“假”,判断“否则如果”接口中的条件,“否则如果”接口判断条件为“真”,运行“执行”否则如果接口中的程序。

按键右控制绿色LED灯亮度的程序:


将程序下载到科创板,打开开关会发现只有电源灯亮,如图一;现在我们点击右键会发现四角四个灯会有微弱亮,如图二;再点击右键,会发现灯更亮了一些,如图三;最后再点击一下右键,会发现等变得更亮了,如图四;当第五次点击右键的时候,绿色LED灯就会熄灭;之后点击右键会重复上面的过程。


      图一            图二            图三             图四

四、延伸与扩展——Arts

想一想,能不能用按键控制蜂鸣器弹奏一首好听的音乐呢,怎样去实现?


请以小组的形式进行合作,尝试使用按键控制蜂鸣器,弹奏一首好听的音乐。

设计要求:

能够用按键控制蜂鸣器弹奏一首音乐;

保证控制方式安全可靠。