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