19.三彩渐变实验

实验现象

  控制三基色LED中的红绿蓝三种颜色分别慢慢变亮,再慢慢变暗。

理论学习

  熟练运用PWM原理,实验颜色渐变效果

程序代码

#define LED_R 3
#define LED_G 5
#define LED_B 6
 
int PWMValue = 0;
 
void setup()
{
  analogWrite(LED_R,255);           //高电平255 = 占空比是100%,IO相当于输出高电平,红色LED熄灭
  analogWrite(LED_G,255);           //高电平255 = 占空比是100%,IO相当于输出高电平,绿色LED熄灭
  analogWrite(LED_B,255);           //高电平255 = 占空比是100%,IO相当于输出高电平,蓝色LED熄灭
}
 
void loop()
{
  int i = 0;
  PWMValue = 255;
  for(i = 0 ; i < 255 ; i++)     //红色逐渐变亮
  {
    analogWrite(LED_R,PWMValue--);
    analogWrite(LED_G,255);
    analogWrite(LED_B,255);
    delay(10);                                 
  }
  PWMValue = 0;
  for(i = 0 ; i < 255 ; i++)     //逐渐变暗
  {
    analogWrite(LED_R,PWMValue++);
    analogWrite(LED_G,255);
    analogWrite(LED_B,255);
    delay(10);
  }
   
   PWMValue = 255;
  for(i = 0 ; i < 255 ; i++)     //绿色逐渐变亮
  {
    analogWrite(LED_R,255);
    analogWrite(LED_G,PWMValue--);
    analogWrite(LED_B,255);
    delay(10);
  }
  PWMValue = 0;
  for(i = 0 ; i < 255 ; i++)     //逐渐变暗
  {
    analogWrite(LED_R,255);
    analogWrite(LED_G,PWMValue++);
    analogWrite(LED_B,255);
    delay(10);
  }
   
  PWMValue = 255;
  for(i = 0 ; i < 255 ; i++)     //蓝色逐渐变亮
  {
    analogWrite(LED_R,255);
    analogWrite(LED_G,255);
    analogWrite(LED_B,PWMValue--);
    delay(10);
  }
  PWMValue = 0;
  for(i = 0 ; i < 255 ; i++)     //逐渐变暗
  {
    analogWrite(LED_R,255);
    analogWrite(LED_G,255);
    analogWrite(LED_B,PWMValue++);
    delay(10);
  }
   
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值