[ Ruff 开辟套件 ] Lesson 2 - 七彩轮回灯

第二课 七彩轮回灯

《[ Ruff 开辟套件 ] Lesson 2 - 七彩轮回灯》

Ruff 开辟套件第二课正式开讲啦!

一起来看看我们此次会有什么新颖内容!

  • 谁将上台:

    • LED 模块

  • 你将学会

    • Ruff 中的周期挪用函数

    • 设定 LED 模块色彩

引见

七彩轮回灯中:

  • LED 灯轮回发出“蓝绿青红紫黄白”七种光。

元件

  • Ruff 开辟板

  • LED 模块

外设增加

  • 向项目中增加名为“LED”的 LED 模块,model 挑选 KY-016,驱动版本挑选最新版。

《[ Ruff 开辟套件 ] Lesson 2 - 七彩轮回灯》

代码

  • 在编写代码之前须要完成 Ruff 开辟板的设置衔接、硬件连线。假如有疑问人人能够到这里相识。

  • 想相识 Ruff 运用开辟步骤和模子,能够到这里

色彩的 RGB 值

为了轻易编写代码,起首我们将色彩和 RGB 值一一对应。

  • 建立一个 color 对象

  • 将七种色彩增加为 color 的属性,属性值赋为对应 RGB 值。

    • 罕见色彩和 RGB 值对照表

    《[ Ruff 开辟套件 ] Lesson 2 - 七彩轮回灯》

  • 色彩和 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 模块组按图中历程轮回运转:

《[ Ruff 开辟套件 ] Lesson 2 - 七彩轮回灯》

    原文作者:Ruff
    原文地址: https://segmentfault.com/a/1190000006616928
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞