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