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