如何使用Adafruit NeoPixel庫潛入色彩混合,將RGB LED控制提升到一個新的水平
在基本RGB教程的基礎上,讓我們通過使用Adafruit NeoPixel庫和Mercury Board潛入顏色混合,將RGB LED控制提升到一個新的水平。而不是顯示靜態(tài)的紅色,綠色和藍色的光,我們將混合這些基本色以不同的比例來創(chuàng)建廣泛的自定義顏色。
通過調(diào)整紅、綠、藍成分的強度,你可以創(chuàng)造出美麗的色調(diào),比如紫色、青色、黃色甚至白色。這個概念不僅有趣,而且是屏幕、智能燈和數(shù)字顯示器工作的基礎。
讓我們把你的水銀板變成一個數(shù)字調(diào)色板!
在本教程結束時,您將學習:如何控制和使用Adafruit NeoPixel庫在水星上進行WS2812 -板載RGBLED的混色。
我們開始吧
?設置環(huán)境-如果您還沒有在Arduino®上添加水星板,現(xiàn)在是這樣做的好時機。
?插入USB電纜水星板和連接它您的筆記本電腦。
?當Arduino終端顯示“Connecting…”時,長按FLASH按鈕啟動上傳過程。
這里到底發(fā)生了什么?
速成班:RGB光的顏色混合
RGB led的混色是基于加色混合的原理,其中不同強度的紅、綠、藍光組合在一起,產(chǎn)生廣泛的顏色光譜。這些顏色中的每一種都可以從0(關閉)到255(完全打開)獨立調(diào)整,為您提供超過1600萬種可能的顏色組合!
RGB顏色模型
三原色是這樣混合的:
?紅色(255,0,0)
?綠色(0,255,0)
?藍色(0,0,255)
當你把它們結合起來:
?紅+綠=黃(255,255,0)
?紅+藍=品紅(255,0,255)
?綠色+藍色=青色(0,255,255)
?紅+綠+藍=白(255,255,255)
當然還有:
All Off = Black (0,0,0)
讓我們考慮一下黃色,在混合100%強度的紅光和100%強度的綠光,理論上你應該得到黃色光。但是,每種硬件在產(chǎn)生的光線上都有一些可變性。因此,在我們的例子中,我們使用以下百分比的紅色和綠色光來產(chǎn)生黃色/琥珀色光:
更深入地研究代碼…
為了模擬交通信號,我們將重新創(chuàng)建熟悉的序列:
?綠燈亮2秒-表示車輛可以移動。
?黃燈點亮1秒,警告信號即將改變。
?紅燈亮2秒,指示車輛停車,等待下一個綠燈。
這個簡單的基于時間的模式模擬了現(xiàn)實世界的交通行為,是練習控制RGB led延遲和邏輯的好方法!
為什么這很重要
理解RGB混合的關鍵是:
?設計定制LED動畫
?創(chuàng)建視覺通知
?建立互動藝術或環(huán)境光系統(tǒng)
?為可穿戴設備或物聯(lián)網(wǎng)項目編程智能照明
它是數(shù)字顯示和照明的基礎-現(xiàn)在,你正在學習在硬件層面掌握它。
本文編譯自hackster.io