Ruff 开发套件第二课正式开讲啦!javascript
一块儿来看看咱们此次会有什么新鲜内容!html
谁将登场:java
LED 模块数组
你将学会less
Ruff 中的周期调用函数函数
设定 LED 模块颜色spa
七彩循环灯中:.net
LED 灯循环发出“蓝绿青红紫黄白”七种光。code
Ruff 开发板htm
LED 模块
向项目中添加名为“LED”的 LED 模块,model 选择 KY-016,驱动版本选择最新版。
为了方便编写代码,首先咱们将颜色和 RGB 值一一对应。
建立一个 color 对象
将七种颜色添加为 color 的属性,属性值赋为对应 RGB 值。
常见颜色和 RGB 值对照表
颜色和 RGB 值一一对应实例:
var color = Object.create({ blue: 0x0000ff, green: 0x00ff00, purple: 0xff00ff, cyan: 0x00ffff, yellow: 0xffff00, white: 0x000000, red: 0xff0000 });
若是想知道更多颜色的 RGB 值,能够到这里。
接下来咱们解决:如何让 LED 模块按顺序发出七彩色。
这里使用LED 模块设定颜色的函数 setRGB
,语法以下:
setRGB(rgb, [callback])
rgb
值是由三个数字组成的数组,或者是一个24位二进制数。
使用延时函数 setTimeout
设定发光时间。
按顺序发出七彩色实例步骤和代码以下:
设定 LED 发蓝光;
500ms 时 ,设定 LED 发绿光;
1.0s 时 ,设定 LED 发青光;
1.5s 时,设定 LED 发红光;
2.0s 时,设定 LED 发紫光;
2.5s 时,设定 LED 发黄光;
3.0s 时,设定 LED 发白光;
$('#led').setRGB(color.blue); setTimeout(function () { $('#led').setRGB(color.green); }, 500); setTimeout(function () { $('#led').setRGB(color.cyan); }, 1000); setTimeout(function () { $('#led').setRGB(color.red); }, 1500); setTimeout(function () { $('#led').setRGB(color.purple); }, 2000); setTimeout(function () { $('#led').setRGB(color.yellow); }, 2500); setTimeout(function () { $('#led').setRGB(color.white); }, 3000)
接下来咱们解决如何循环发光的问题。
循环发光能够经过按照必定周期调用发光函数实现。
这里咱们使用 setInterval
函数实现周期调用, setInterval
函数语法以下:
setInterval(表达式, 周期时间)
setInterval() 方法可按照指定的周期(以毫秒计)调用表达式。
想了解更多有关 setInterval
函数的内容,能够到这里了解。
最后,
建立 color 对象;
将发出七彩色代码放入周期调用函数中,设定调用周期 3.5s。
大功告成~
快去本身动手实现吧!
'use strict'; $.ready(function (error) { if (error) { console.log(error); return; } var color = Object.create({ red: 0xff0000, blue: 0x0000ff, green: 0x00ff00, purple: 0xff00ff, cyan: 0x00ffff, yellow: 0xffff00, white: 0x000000 }); var light = setInterval( function () { $('#led').setRGB(color.blue); setTimeout(function () { $('#led').setRGB(color.green); }, 500); setTimeout(function () { $('#led').setRGB(color.cyan); }, 1000); setTimeout(function () { $('#led').setRGB(color.red); }, 1500); setTimeout(function () { $('#led').setRGB(color.purple); }, 2000); setTimeout(function () { $('#led').setRGB(color.yellow); }, 2500); setTimeout(function () { $('#led').setRGB(color.white); }, 3000) }, 3500); });
使用三个 LED 模块,
LED 模块组按图中过程循环运行: