1.1. 正在工作中..

LED指示灯是最简单的一种输出设备,常用于指示计算机系统的内部状态。在BlueFi单板机上有两个可编程控制的LED指示灯,一个是红色的 (靠近电源指示灯),另一个是白色的(靠近集成光学传感器)。所谓可编程控制的LED,就是我们可以用程序控制其亮或灭。

1.1.1. 红色LED

首先看一个示例:

../../_static/images/basics/ledblink1.png

进入Bluefi在线图形化编程工具,从中间的积木块抽屉”输出类”中找到控制红色led亮灭的积木块,然后从”控制”积木块抽屉中找到重复执行 与等待积木块,利用重复执行也就是循环积木块以及等待积木块,完成图中的程序块拼接然后点击“本地下载”按钮,并在弹出的窗口中输入文 件名为“code.py”,保存文件的磁盘为“CIRCUITPY”,路径为该磁盘的根目录。一旦将code.py文件保存到BlueFi的CIRCUITPY磁盘上,BlueFi 立即开始执行这个脚本程序。

这个示例程序的执行效果是:红色LED指示灯不停地闪烁。闪烁的LED指示灯常用于指示计算机系统正在工作中,如果程序一旦停止,指示灯也停止闪烁。

下面我们逐行来分析每行程序积木块的效果。

示例代码分析:

  • 第1行,初始化程序,相当与程序下载进Bluefi之后告知Bluefi从此开始执行程序
  • 第2行,重复执行,也就是无穷循环的程序块
  • 第3行(无穷循环程序块的第1行),红色led的状态设置为亮起的状态
  • 第4行(无穷循环程序块的第2行),等待0.5秒,程序执行到此处会等待0.5秒的时间
  • 第5行(无穷循环程序块的第3行),红色led的状态设置为熄灭的状态
  • 第6行(无穷循环程序块的第4行),等待0.5秒,程序执行到此处会等待0.5秒的时间

第3行和第5行是本示例的重点,该程序积木块是用来控制Bluefi上红色led的亮灭状态,积木块上有两个下拉框,分别是选择led的属性和亮灭的状态。

../../_static/images/basics/led1.png ../../_static/images/basics/led2.png

1.1.2. 白色LED

修改前一个示例的代码,如下:

../../_static/images/basics/ledblink2.png

我们仅仅修改亮第3和第5行程序中led的属性,红色修改为白色。点击菜单栏右上角的“本地下载”按钮,修改后的文件保存到/CIRCUITPY/code.py, BlueFi将重新开始执行新的程序,你很容易就发现白色LED灯的闪烁效果,因为白色LED灯非常亮(白色LED的实际作用是为集成光学传感器提供辅助光)。

对比两个示例容易发现,原来led对象的两个属性——红色和白色分别用来控制红色LED和白色LED的。

输出类积木块抽屉中还有一个切换led状态的积木块,修改示例程序,观察这个积木块的功能。

../../_static/images/basics/qiehuan1.png

这个程序中的无穷循环程序块仅有两个语句,一个是切换led的状态另一个仍是延时0.5秒。从程序执行效果看,这个程序与示例2 几乎完全相同。说明这个积木块的功能是在切换白色LED的亮和灭。

你能使用该积木块来修改程序,实现红色LED指示灯闪烁?

总结:

  • Bluefi上控制红色/白色led的程序积木块在输出类积木块抽屉中
  • 控制红色/白色led的程序积木块中有下拉框可以选择led的属性及亮灭状态
  • 本节中用了两种不同的方式,实现了led闪烁的效果
  • 本节中,你总计完成了14个程序代码块的编写工作

重要

出现的代码积木块

  • 控制红色/白色led状态的程序代码块
  • 切换红色/白色led状态的程序代码块