導(dǎo)入:
將紅、綠、藍(lán)LED作為假想的RGB三基色,用相加混合法配出指定的顏色,通過(guò)旋轉(zhuǎn)可變電阻連續(xù)改變Led的顏色。
實(shí)驗(yàn)過(guò)程
(一)PWM三色LED調(diào)色原理
? ? ? ? LED調(diào)色溫是改變不同光的比例。增加紅光,色溫變暖,增加藍(lán)光,色溫變冷。調(diào)節(jié)亮度, 改變流過(guò)LED的電流大小,電流大些,就亮些。反之就暗些。電流的調(diào)節(jié),是用改變PWM來(lái)實(shí)現(xiàn)的。
(注:所謂PWM,就是脈沖寬度調(diào)整。脈沖寬度調(diào)整的方法,最根本的是改變決定其寬度的電阻與電容值的數(shù)值。RC的乘積大,則寬度會(huì)大些。具體要結(jié)合電路圖來(lái)討論。)
(二)實(shí)驗(yàn)過(guò)程
實(shí)驗(yàn)儀器:
控制器、USB下載線、大面包板、跳線若干、全彩LED燈、調(diào)節(jié)電阻

器材準(zhǔn)備
實(shí)驗(yàn)步驟:
①如圖所示連接電路
②改變電阻大小,觀察LED燈顏色

連接電路
效果展示:

效果圖
代碼展示:

代碼1

代碼2
int R_Pin=11;int G_Pin=10;int B_Pin=9;//定義三個(gè)輸出引腳并分別連接全彩LED燈的red,green 和blue 引腳void setup() {? // put your setup code here, to run once:pinMode(R_Pin,OUTPUT);pinMode(G_Pin,OUTPUT);pinMode(B_Pin,OUTPUT);//定義三個(gè)引腳為輸出}void loop() {? // put your main code here, to run repeatedly:int i,j,k;for(i=1;i<=7;i++)//紅燈逐漸變亮{? for(j=1;j<=7;j++)//綠燈逐漸變亮? {? ? for(k=1;k<=7;k++) Color(i,j,k);//藍(lán)燈逐漸變亮? ? for(k=6;k>=2;k--) Color(i,j,k);//藍(lán)燈逐漸變暗? }? for(j=6;j>=2;j--)//綠燈逐漸變暗? {? ? for(k=1;k<=7;k++) Color(i,j,k);? ? for(k=6;k>=2;k--) Color(i,j,k);? }? }for(i=6;i>=2;i--)//紅燈逐漸變暗{? for(j=1;j<=7;j++)? {? ? for(k=1;k<=7;k++) Color(i,j,k);? ? for(k=6;k>=2;k--) Color(i,j,k);? }? for(j=6;j>=2;j--)? {? ? for(k=1;k<=7;k++) Color(i,j,k);? ? for(k=6;k>=2;k--) Color(i,j,k);? }}}void Color(int r,int g,int b)//全彩LED子程序{? analogWrite(R_Pin,36*r);? analogWrite(G_Pin,36*g);? analogWrite(B_Pin,36*b);? delay(100);}
(三)感悟
①由于調(diào)節(jié)電阻不好控制LED燈顏色,所以選擇了三個(gè)470電阻進(jìn)行實(shí)驗(yàn)。
②配色的時(shí)候看有些顏色看起來(lái)不是太正,有偏色現(xiàn)象,導(dǎo)致偏色的原因較多,LED溫度不一樣時(shí),相同的電壓值下也會(huì)有不同的顏色值。