查看: 2938|回复: 4

[求助] 不再让CHipKIT Uno32寂寞 ——PWM调节LED亮度

[复制链接]

该用户从未签到

发表于 2012-8-8 15:29:42 | 显示全部楼层 |阅读模式
分享到:
原帖由
A670521546
发自:dev.eefocus.com
------------------------------------------------------------------------------------------------------------------------------------------
从最基础的学起,来学习PWM调节led的亮度
脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法,由于计算机不能输出模拟电压,只能输出0V或5V的数字电压值,我们就通过使用高分辨率计数器,利用方波的占空比被调制的方法来对一个具体的模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任意时刻,满幅值的直流供电要么是ON,要么是OFF。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候就即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。输出的电压值是通过通和断的时间进行计算的。
1.jpg
用fritzing画的原理图,画的不怎么好看
int redpin=5;
int yellowpin=6;
int greenpin=7;
int redval;
int yellowval;
int greenval;
int i=0;
void setup()
{
  pinMode(redpin,OUTPUT); //设置LED接口为输出接口
  pinMode(yellowpin,OUTPUT);
  pinMode(greenpin,OUTPUT);
  pinMode(redval,INPUT);    //设置LED变量为输入值,这部分可以略去,不需要定义INPUT,这个定义是说明下这几个变量属性
  pinMode(yellowval,INPUT);
  pinMode(greenval,INPUT);
  Serial.begin(9600);     //连接到串行端口,波特率为9600
}
void loop()
{
  i++;
  if(i<50)
  {
    redval+=1; //红灯变亮
    yellowval=1; //黄灯不变
    greenval+=1;//绿灯不便
  }
  else if(i<100)
  {
    redval-=1;
    yellowval+=1;
    greenval=1;
  }
  else if(i<200)
  {
    redval=1;
    yellowval-=1;
    greenval+=1;
  }
  else
  {
    i=0;
  }
  analogWrite(redpin,redval);      //给LED接口赋模拟值
  analogWrite(yellowpin,yellowval);
  analogWrite(greenpin,greenval);
  Serial.print(i,DEC);
  Serial.print(   "      R:");
  Serial.print(redval,DEC);
  Serial.print(   "      Y:");
  Serial.print(yellowval,DEC);
  Serial.print(   "      G:");
  Serial.println(greenval,DEC);
}

回复

使用道具 举报

  • TA的每日心情
    开心
    2017-3-2 10:14
  • 签到天数: 166 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-11-23 05:17:29 | 显示全部楼层
    帮助很大, 多谢了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-3-2 10:14
  • 签到天数: 166 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-11-23 05:19:03 | 显示全部楼层
    帮助很大, 多谢了!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2013-12-4 09:38
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-12-3 19:29:04 | 显示全部楼层
    三个信号最好分别连续,这样效果看起来更柔和。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-12 10:32
  • 签到天数: 295 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2014-1-2 22:17:15 | 显示全部楼层
    赞一个~~~~~~~~~~~~~~~~
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-21 17:05 , Processed in 0.148345 second(s), 24 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.