摘要:第二課七彩循環(huán)燈開發(fā)套件第二課正式開講啦一起來看看我們這次會有什么新鮮內(nèi)容誰將登場模塊你將學(xué)會中的周期調(diào)用函數(shù)設(shè)定模塊顏色介紹七彩循環(huán)燈中燈循環(huán)發(fā)出藍綠青紅紫黃白七種光。最后,創(chuàng)建對象將發(fā)出七彩色代碼放入周期調(diào)用函數(shù)中,設(shè)定調(diào)用周期。
第二課 七彩循環(huán)燈
Ruff 開發(fā)套件第二課正式開講啦!
一起來看看我們這次會有什么新鮮內(nèi)容!
誰將登場:
LED 模塊
你將學(xué)會
Ruff 中的周期調(diào)用函數(shù)
設(shè)定 LED 模塊顏色
介紹七彩循環(huán)燈中:
LED 燈循環(huán)發(fā)出“藍綠青紅紫黃白”七種光。
元件Ruff 開發(fā)板
LED 模塊
外設(shè)添加向項目中添加名為“LED”的 LED 模塊,model 選擇 KY-016,驅(qū)動版本選擇最新版。
代碼在編寫代碼之前需要完成 Ruff 開發(fā)板的設(shè)置連接、硬件連線。如果有疑問大家可以到這里了解。
想了解 Ruff 應(yīng)用開發(fā)步驟和模型,可以到這里。
顏色的 RGB 值為了方便編寫代碼,首先我們將顏色和 RGB 值一一對應(yīng)。
創(chuàng)建一個 color 對象
將七種顏色添加為 color 的屬性,屬性值賦為對應(yīng) RGB 值。
常見顏色和 RGB 值對照表
顏色和 RGB 值一一對應(yīng)實例:
var color = Object.create({ blue: 0x0000ff, green: 0x00ff00, purple: 0xff00ff, cyan: 0x00ffff, yellow: 0xffff00, white: 0x000000, red: 0xff0000 });
如果想知道更多顏色的 RGB 值,可以到這里。
發(fā)出七彩色接下來我們解決:如何讓 LED 模塊按順序發(fā)出七彩色。
這里使用LED 模塊設(shè)定顏色的函數(shù) setRGB ,語法如下:
setRGB(rgb, [callback])
rgb 值是由三個數(shù)字組成的數(shù)組,或者是一個24位二進制數(shù)。
使用延時函數(shù) setTimeout 設(shè)定發(fā)光時間。
setTimeout 函數(shù)可以在 第一課 復(fù)習(xí),也可以到這里復(fù)習(xí)。
按順序發(fā)出七彩色實例步驟和代碼如下:
設(shè)定 LED 發(fā)藍光;
500ms 時 ,設(shè)定 LED 發(fā)綠光;
1.0s 時 ,設(shè)定 LED 發(fā)青光;
1.5s 時,設(shè)定 LED 發(fā)紅光;
2.0s 時,設(shè)定 LED 發(fā)紫光;
2.5s 時,設(shè)定 LED 發(fā)黃光;
3.0s 時,設(shè)定 LED 發(fā)白光;
$("#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)周期調(diào)用函數(shù)
接下來我們解決如何循環(huán)發(fā)光的問題。
循環(huán)發(fā)光可以通過按照一定周期調(diào)用發(fā)光函數(shù)實現(xiàn)。
這里我們使用 setInterval 函數(shù)實現(xiàn)周期調(diào)用, setInterval 函數(shù)語法如下:
setInterval(表達式, 周期時間)
setInterval() 方法可按照指定的周期(以毫秒計)調(diào)用表達式。
想了解更多有關(guān) setInterval 函數(shù)的內(nèi)容,可以到這里了解。
最后,
創(chuàng)建 color 對象;
將發(fā)出七彩色代碼放入周期調(diào)用函數(shù)中,設(shè)定調(diào)用周期 3.5s。
大功告成~
快去自己動手實現(xiàn)吧!
完整代碼"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); });課后練習(xí) 交通紅綠燈
使用三個 LED 模塊,
LED 模塊組按圖中過程循環(huán)運行:
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/80090.html
摘要:前言最近聽到有小伙伴們對感興趣,我也跟著加入了大軍中,本篇文章展示了的開發(fā)套件,以及入手后的小,后續(xù)持續(xù)更新參考文獻官網(wǎng)思否首頁開箱如同官網(wǎng)展示的配件如下上手官方我開發(fā)時使用的是系統(tǒng),所以下載安裝包創(chuàng)建項目文件,在當(dāng)前目錄執(zhí)行下面命令查看 前言 最近聽到有小伙伴們對ruff感興趣,我也跟著加入了大軍中,本篇文章展示了ruff的開發(fā)套件,以及入手后的小demo,后續(xù)持續(xù)更新參考文獻ruf...
摘要:向項目中添加名為的溫濕度傳感器模塊,選擇,驅(qū)動版本選擇最新版。使用溫濕度傳感器模塊的函數(shù)獲取當(dāng)前濕度溫濕度模塊的函數(shù)用法如下設(shè)置光標(biāo)到第二行第二個字符處打印和當(dāng)前濕度使用函數(shù)每秒鐘重新檢測和顯示當(dāng)前濕度。 showImg(https://segmentfault.com/img/bVC3uE?w=2552&h=1418); 誰將登場 LCD 模塊 溫濕度傳感器 你將學(xué)會 ...
摘要:組包解包和解析以開關(guān)燈的控制協(xié)議來看的組包過程包的首尾是開始和結(jié)束標(biāo)志。前三個字段分別是之后就是具體的控制數(shù)據(jù)。由于要在包內(nèi)容里避免使用開頭或者結(jié)尾的標(biāo)志字段,所以需要對源包內(nèi)容進行轉(zhuǎn)義,轉(zhuǎn)義示意如下。我們就可以接入上面展示的燈和開關(guān)了。 原理簡介 這個智能控制系統(tǒng)采用 ZigBee 作為無線通信協(xié)議。在支持 OpenWRT 系統(tǒng)的路由器上刷入 Ruff,利用 ZigBee-USB d...
摘要:樹莓派最初是為了教學(xué)目的提供的小電腦,其目標(biāo)用戶是初接觸電腦的使用者。從硬件配置上說,樹莓派是有絕對優(yōu)勢的,開發(fā)套件要弱一些。舉個例子,如果采用樹莓派做為起點,有可能運行時會選擇,而是很難向更小的硬件上移植的。 簡而言之,Ruff 是一套軟件,樹莓派是一個硬件,只不過,Ruff 是為了開發(fā)硬件應(yīng)用而設(shè)計的。 從設(shè)計初衷談起 Ruff 是為了開發(fā)應(yīng)用而設(shè)計,所以,其目標(biāo)用戶是開發(fā)者。 ...
摘要:實現(xiàn)項目的配置初始化,這個有些像我們在寫模塊的時候初始化配置,其實這里也是在初始化項目配置。 引言 首先簡單說一下Ruff,Ruff是一個JavaScript運行時,專門為開發(fā)硬件而設(shè)計,其底層實現(xiàn)是基于Node.js,讓我們可以使用JavaScript語言去實現(xiàn)自己想要的硬件功能設(shè)計,下面就是從零開始接觸和學(xué)習(xí)使用Ruff showImg(https://segmentfault.c...
閱讀 1257·2021-11-08 13:25
閱讀 1449·2021-10-13 09:40
閱讀 2781·2021-09-28 09:35
閱讀 744·2021-09-23 11:54
閱讀 1136·2021-09-02 15:11
閱讀 2442·2019-08-30 13:18
閱讀 1677·2019-08-30 12:51
閱讀 2696·2019-08-29 18:39