美文网首页16级创客教育理论与实践
8.PWM三色LED调色实验(第7组)

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

作者: 刘春平0206 | 来源:发表于2018-10-22 23:55 被阅读13次

    导入:

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

    实验过程

    (一)PWM三色LED调色原理

            LED调色温是改变不同光的比例。增加红光,色温变暖,增加蓝光,色温变冷。调节亮度, 改变流过LED的电流大小,电流大些,就亮些。反之就暗些。电流的调节,是用改变PWM来实现的。

    (注:所谓PWM,就是脉冲宽度调整。脉冲宽度调整的方法,最根本的是改变决定其宽度的电阻与电容值的数值。RC的乘积大,则宽度会大些。具体要结合电路图来讨论。)

    (二)实验过程

    实验仪器:

    控制器、USB下载线、大面包板、跳线若干、全彩LED灯、调节电阻

    器材准备

    实验步骤:

    ①如图所示连接电路

    ②改变电阻大小,观察LED灯颜色

    连接电路

    效果展示:

    效果图

    代码展示:

    代码1 代码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电阻进行实验。

    ②配色的时候看有些颜色看起来不是太正,有偏色现象,导致偏色的原因较多,LED温度不一样时,相同的电压值下也会有不同的颜色值。

    相关文章

      网友评论

        本文标题:8.PWM三色LED调色实验(第7组)

        本文链接:https://www.haomeiwen.com/subject/sxynzftx.html