資料介紹
描述
該項(xiàng)目使用Netduino.Foundation庫中包含的RgbPwmLed類。本指南由三部分組成:
- 第 1 部分:循環(huán)檢查 RGB LED 上的紅色、綠色和藍(lán)色引腳,以確保它們正確接線。
- 第 2 部分:只需幾行代碼,即可使 LED 發(fā)出所有可能的顏色。
- 第 3 部分:探索Netduino.Foundation庫提供的更有用的 LED API 方法。
RGB(紅、綠、藍(lán))LED燈是具有四個(gè)腿的二極管 - 一個(gè)用于提到的每種顏色,一個(gè)用于共陰極(接地)或共陽極 (vcc),這也是最長的一個(gè)。
在這個(gè)項(xiàng)目中,您可以使用共陽極或共陰極 RGB LED。只需確保構(gòu)建與您使用的 LED 對應(yīng)的電路即可。
Netduino.Foundation是一個(gè)使用 Netduino 上的 .NET MicroFramework 快速構(gòu)建連接事物的平臺。由Wilderness Labs創(chuàng)建,它是開源的,由 Netduino 社區(qū)維護(hù)。
如果您是 Netduino 開發(fā)新手,我建議您轉(zhuǎn)到Netduino 入門項(xiàng)目以正確設(shè)置您的開發(fā)環(huán)境。
組裝電路
共陰極RGB LED
共陽極 RGB LED
注意:請注意,兩個(gè)電路中都沒有使用電阻器。通常,通過全電壓會燒毀 LED。但是,Netduino.Foundation可以使用 PWM 信號自動控制正向電壓。
創(chuàng)建一個(gè) Netduino 項(xiàng)目
在 Visual Studio 2015 for Windows 或最新的 Visual Studio for Mac 中創(chuàng)建 Netduino 項(xiàng)目;將項(xiàng)目命名為RgbPwmLed 。
添加 Netduino.Foundation NuGet 包
視窗
右鍵單擊您的RgbPwmLed項(xiàng)目,然后單擊Manage NuGet Packages 。在瀏覽選項(xiàng)卡中,搜索Netduino.Foundation;它應(yīng)該是第一個(gè)搜索結(jié)果。單擊安裝按鈕。
蘋果系統(tǒng)
在解決方案資源管理器中按住 Alt 鍵單擊您的RgbPwmLed項(xiàng)目,然后單擊添加 => 添加 Nuget 包以打開 NuGet 包窗口。搜索Netduino.Foundation包并單擊Add Package將其添加到您的項(xiàng)目中。
第 1 部分:使 RGB LED 發(fā)出紅色、綠色和藍(lán)色光
在Program.cs文件中,粘貼以下代碼:
using Microsoft.SPOT;
using Netduino.Foundation;
using System.Threading;
using N = SecretLabs.NETMF.Hardware.Netduino;
namespace RgbPwmLed
{
public class Program
{
public static void Main()
{
// create a new pwm controlled RGB LED on pins
// Red = 11, Green = 10, and Blue = 9.
var rgbPwmLed = new Netduino.Foundation.LEDs.RgbPwmLed(
N.PWMChannels.PWM_PIN_D11,
N.PWMChannels.PWM_PIN_D10,
N.PWMChannels.PWM_PIN_D9,
2.1f,
3.0f,
3.0f,
false);
// run forever
while (true)
{
rgbPwmLed.SetColor(Color.FromHex("#FF0000"));
Debug.Print("=========== RED! ===========");
Thread.Sleep(1000);
rgbPwmLed.SetColor(Color.FromHex("#00FF00"));
Debug.Print("=========== GREEN! ===========");
Thread.Sleep(1000);
rgbPwmLed.SetColor(Color.FromHex("#0000FF"));
Debug.Print("=========== BLUE! ===========");
Thread.Sleep(1000);
}
}
}
}
在Main方法中,我們創(chuàng)建了一個(gè)名為 rgbPwmLed 的新RgbPwmLed對象。在構(gòu)造函數(shù)中,我們指定用于控制 LED 的引腳。由于我們沒有使用電阻,我們分別包含每個(gè)引腳的正向電壓(紅色為 2.1V,綠色和藍(lán)色為 3.0V )。構(gòu)造函數(shù)中的最后一個(gè)參數(shù)是可選的,它的布爾值isCommonCathode標(biāo)志(默認(rèn)為 true)。根據(jù)您正在處理的電路相應(yīng)地設(shè)置此值。
現(xiàn)在使用rgbPwmLed對象,在一個(gè) while 無限循環(huán)中,我們正在調(diào)用SetColor(Color color)方法,以十六進(jìn)制代碼傳遞紅色、綠色和藍(lán)色,并使線程休眠一秒鐘。您還可以聲明以 RGB 或 HSA 值指定的顏色,甚至是預(yù)定義的命名顏色。
此外,要跟蹤 LED 上當(dāng)前顯示的顏色,您可以使用Debug.Print 指示程序始終顯示的顏色,以確保正確連接所有 LED 支腳。
運(yùn)行項(xiàng)目
單擊 Visual Studio 中的運(yùn)行按鈕以查看 RGB LED 的運(yùn)行情況!您應(yīng)該會看到 LED 每秒循環(huán)顯示紅色、綠色和藍(lán)色,如下圖所示:
第 2 部分:使 RGB LED 通過所有色調(diào)發(fā)光
在這一部分中,讓我們?yōu)轫?xiàng)目增添一些趣味。讓我們編寫一個(gè)小算法來遍歷色相光譜中所有 360 種可能的顏色。為什么是360?使用色相、飽和度、亮度和 Alpha 顏色模型,它具有圓柱形幾何形狀,并且在完全飽和度和 Alpha 值下經(jīng)過每個(gè)度數(shù),它將顯示 RGB 光譜內(nèi)的所有顏色。
刪除While(true)循環(huán)內(nèi)的代碼,然后粘貼For循環(huán)。它應(yīng)該如下所示:
...
while (true)
{
// loop through the entire hue spectrum (360 degrees)
for (int i = 0; i < 360; i++)
{
var hue = ((double)i / 360F);
Debug.Print(hue.ToString());
// set the color of the RGB
rgbPwmLed.SetColor(Color.FromHsba(((double)i/360F), 1, 1));
// for a fun, fast rotation through the hue spectrum:
//Thread.Sleep (1);
// for a moderate walk through the forest of colors;
Thread.Sleep(10);
}
}
...
在這個(gè)For中,我們聲明了一個(gè)局部雙色調(diào)并分配 i/360 的除法結(jié)果。之后,我們在rgbPwmLed對象上調(diào)用 SetColor (Color.FromHsba(hue, 1, 1))方法,最后做一個(gè)Thread.Sleep(10)以適中的速度查看所有顏色。
運(yùn)行項(xiàng)目
現(xiàn)在運(yùn)行項(xiàng)目時(shí),應(yīng)該會看到如下內(nèi)容:
第 3 部分:使用 StartRunningColors 方法
您應(yīng)該檢查的另一個(gè)有用的 API 方法是StartRunningColors ,它包括傳遞一個(gè)顏色列表以及每個(gè)顏色的持續(xù)時(shí)間。以下代碼片段使 LED 發(fā)光Color.White 1000ms (1s),然后Color.Aqua 500ms (0.5s),然后Color.ForrestGreen 1000ms (1s),最后Color.OrangeRed 500ms (0.5s)。
...
while (true)
{
// run through various colors for 10 seconds
rgbPwmLed.StartRunningColors(
new System.Collections.ArrayList
{
Color.White,
Color.Aqua,
Color.ForestGreen,
Color.OrangeRed
},
new int[] { 1000, 500, 1000, 500 });
Thread.Sleep(10000);
}
...
運(yùn)行項(xiàng)目
現(xiàn)在運(yùn)行項(xiàng)目時(shí),您會看到如下內(nèi)容:
我建議您查看RgbPwmLed 官方文檔,這樣您就可以看到還有哪些有趣的 API 方法可以讓您在使用 RGB LED 時(shí)更輕松地工作。
查看 Netduino.Foundation!
就您可以使用 Netduino.Foundation 做的大量令人興奮的事情而言,這個(gè)項(xiàng)目只是冰山一角。
- 它帶有一個(gè)龐大的外圍驅(qū)動程序庫,其中包含最常見的傳感器和外圍設(shè)備的驅(qū)動程序。
- 外圍驅(qū)動程序封裝了核心邏輯并公開了一個(gè)簡單、干凈、現(xiàn)代的 API。
- 這個(gè)項(xiàng)目得到了一個(gè)不斷發(fā)展的社區(qū)的支持,該社區(qū)不斷致力于構(gòu)建很酷的互聯(lián)事物,并且總是很高興能幫助新人并討論新項(xiàng)目。
參考
- 基于RGB Gamma曲線LED顯示圖像的色散校正技術(shù)
- RGB混色器Arduino項(xiàng)目
- 如何使用Arduino的RGB Led產(chǎn)生16M色
- WS2812B RGB LED亮度控制和混色開源分享
- 紅外遙控rgb七彩LED燈使用說明 15次下載
- 高分辨率RGB LED混色應(yīng)用筆記 18次下載
- RGB LED在汽車氛圍燈中的應(yīng)用說明 26次下載
- SMD1204 RGB共陰三色貼片LED燈珠的數(shù)據(jù)手冊免費(fèi)下載 5次下載
- LED燈RGB色盤算法應(yīng)用程序APP的詳細(xì)資料免費(fèi)下載 11次下載
- RGB LED的詳細(xì)介紹如何通過一個(gè)RGB小燈隨機(jī)產(chǎn)生不同的炫彩顏色 57次下載
- LED白光的成形原理及RGB燈等分別介紹 5次下載
- RGB三色直方圖的繪制 17次下載
- RGB三色燈的原理 261次下載
- 6色LED背光模塊光學(xué)特性
- 三色LED顯示屏的設(shè)計(jì)與實(shí)現(xiàn)
- Micro LED顯示面板的光學(xué)性能研究 1833次閱讀
- LCD顯示屏的RGB分類 RGB屏的EMI問題和解決方案 3496次閱讀
- LED顯示屏灰度有多少等級 2914次閱讀
- RGB顏色空間與RGB三色中色調(diào)、飽和度、亮度之間的關(guān)系 8932次閱讀
- RGB LED多重色彩光源的挑戰(zhàn)及技術(shù)解決方法 2351次閱讀
- dfrobot8x8 RGB LED Matrix 點(diǎn)陣模塊簡介 4092次閱讀
- 基于RGB-LED的背光驅(qū)動系統(tǒng)設(shè)計(jì) 1696次閱讀
- PdigilentRGB OLED顯示屏簡介 1667次閱讀
- 微雪電子樹莓派RGB全彩LED擴(kuò)展|RGB LED HAT介紹 2343次閱讀
- 微雪電子樹莓派RGB全彩LED擴(kuò)展|RGB LED HAT (B)介紹 3106次閱讀
- 如何提高LED背光的發(fā)光效率 3083次閱讀
- COB小間距顯示技術(shù)解決了SMD分立器件LED小間距顯示技術(shù)的痛點(diǎn) 4781次閱讀
- LED舞臺和建筑照明色彩控制:基于I2C控制功能LED的13位色彩控制 2272次閱讀
- rgb led燈變色原理詳解_RGB三基色LED變色程序 10.9w次閱讀
- 愛綠Super Diamond LED超廣色域顯示技術(shù) 1314次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多