8.PWM三色LED调色实验(第7组)

导入:

将红、绿、蓝LED作为假想的RGB三基色,用相加混合法配出指定的颜色,通过旋转可变电阻连续改变Led的颜色。


实验过程 (一)PWM三色LED调色原理 LED调色温是改变不同光的比例。增加红光,色温变暖,增加蓝光,色温变冷。调节亮度, 改变流过LED的电流大小,电流大些,就亮些。反之就暗些。电流的调节,是用改变PWM来实现的。
(注:所谓PWM,就是脉冲宽度调整。脉冲宽度调整的方法,最根本的是改变决定其宽度的电阻与电容值的数值。RC的乘积大,则宽度会大些。具体要结合电路图来讨论。)

(二)实验过程 实验仪器:
控制器、USB下载线、大面包板、跳线若干、全彩LED灯、调节电阻

8.PWM三色LED调色实验(第7组)
文章图片
器材准备

实验步骤:
①如图所示连接电路
②改变电阻大小,观察LED灯颜色

8.PWM三色LED调色实验(第7组)
文章图片
连接电路 效果展示:

效果图

代码展示:

8.PWM三色LED调色实验(第7组)
文章图片
代码1
8.PWM三色LED调色实验(第7组)
文章图片
代码2
int R_Pin=11;int G_Pin=10; int B_Pin=9; //定义三个输出引脚并分别连接全彩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); //定义三个引脚为输出}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); //蓝灯逐渐变亮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); }}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); }
(三)感悟 ①由于调节电阻不好控制LED灯颜色,所以选择了三个470电阻进行实验。
【8.PWM三色LED调色实验(第7组)】②配色的时候看有些颜色看起来不是太正,有偏色现象,导致偏色的原因较多,LED温度不一样时,相同的电压值下也会有不同的颜色值。

    推荐阅读