天天看點

《Microduino實戰》——3.6 RGB彩色LED——彩色的世界

本節書摘來自華章出版社《microduino實戰》一 書中的第3章,第3.6節,作者:姚琪 楊立斌,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

上一節實踐了如何控制一個led,如何控制多個led呢?

本節會用一個 rgb彩色led做實驗,目的在于練習arduino程式設計以及函數的

封裝。

1.基本原理

rgb 彩色led相當于将紅色、綠色和藍色3種led內建了在一起,分為共陰和共陽兩種類型。如圖3-28所示是一種共陽的彩色led,即共陽的引腳要接高電平,而控制端口則是低電平才能點亮led。通過三路pwm控制3種顔色的亮度,便能合成不同顔色的光。

 

《Microduino實戰》——3.6 RGB彩色LED——彩色的世界

小知識 rgb led有4個引腳,用最長的一根公用引腳作為标志。排列順序是這樣的:r引腳、公共引腳(最長)、g引腳和b引腳。

《Microduino實戰》——3.6 RGB彩色LED——彩色的世界
《Microduino實戰》——3.6 RGB彩色LED——彩色的世界

程式清單

程式中可以看到,要控制led燈的顔色,必須同時控制3個引腳輸出的pwm。為了友善程式設計,将3個引腳的控制封裝成一個setcolor()函數,傳遞的參數是對應每個引腳的占空比數值。

觀察現象

根據提供的連接配接示意圖搭建電路,并與計算機相連。

打開arduino ide,輸入程式代碼,編譯并下載下傳,然後觀察彩色led的顔色變化。

可以看到在彩色led上會出現紅、綠、藍、黃、紫、白等顔色,以及漸明漸暗的效果。

進一步探索

請讀者思考:除了以上的控制方式,還能做出什麼樣的燈光秀呢?