
小试牛刀:2号按钮与9号管脚LED灯的互动
生活中顶灯、台灯、电风扇等大多是由按钮控制的。按下“按钮”控制电路的“接通”,松开“按钮”控制电路的“断开”。下面使用2号按钮和9号管脚LED灯,通过编程实现:每按下2号按钮一次,9号管脚LED灯的亮度就增加一次。
积木新知
按钮

单击“按钮”积木中的小三角,可打开管脚列表,通过列表可选择不同管脚。显示实验箱上共有上、下、左、右、中5个按钮,分别对应2、3、4、5、6号5个数字接口。当按钮被按下时,其状态为1;松开时,其状态为0。
在打开的Mixly软件界面左侧单击“Labplus”,再单击“创客中级实验箱”,找到要设置的“按钮”积木,具体位置如下。

范例

范例结果
当上按钮(2号按钮)被按下时,会发现9号LED灯亮度很低;松开该按钮, LED灯灭。这是因为:当按钮被按下时状态为1,亮度只有1。
选择

“选择”积木位于“控制”模块中,当“如果”后面的条件满足(为真)时,就运行“执行”里面的程序,实现判断的选择;当“如果”后面的条件不满足(为假)时,程序则跳过该积木,不执行。
我们还可以对“选择”积木进行编辑。单击“选择”积木左上角齿轮,会弹出编辑窗口,如下图左侧所示;将“否则”积木拖入弹出窗口的“如果”中,可得到“如果-否则”积木块,如下图右侧所示;再次单击蓝色齿轮可关闭窗口。

“如果-否则”积木有3个接口,当“如果”后面的条件不满足(为假)时,则执行“否则”里的程序。
“选择”积木的具体位置如下。

范例

范例结果
如果上按钮被按下,9号LED灯点亮;否则,灯不亮。
声明变量

“声明变量”积木需要定义变量的名字、类型和初始值。在命名变量时,尽可能做到“见名知义”。米思齐支持用中文命名变量,可以设置7种类型,如下图所示。

在Mixly软件中,变量需要先声明并赋初始值(初始值为空时,默认为0),再赋值,最后调用。在程序运行过程中,变量里的值通常会发生改变,程序只能读取当前值。
变量和常量是表征数据的两种形式。常量用来表示确定的数值或内容,变量用来表示变化的数值或内容。变量就像一个放置物品的盒子,盒子里可以放食物,也可以放工具,放置的内容是随着需要而变化的。
“声明变量”积木的具体位置如下。

初始化

前面提到的积木都直接放到编程区里,是在loop函数中循环运行的。如果希望某个程序只运行1次,就需要将对应的积木放到初始化积木里。
范例

范例结果
设置“9号管脚LED灯亮度”变量值为0,只执行1次。
数值

“数值”积木会提供一个数值,可作为其他积木的参数或条件。
范例

范例结果
9号管脚LED灯最高亮度状态。
编程思路

按动按钮增加亮度程序流程图
范例程序

按动按钮增加亮度程序
若上按钮被持续按下,9号管脚LED灯会持续变亮。
知识加油站
选择结构
选择结构是程序设计的三大结构之一,是用于判断给定的条件,根据判断的结果有选择地执行程序语句。