控制三色LED灯的闪烁——Arduino

最近要弄下Arduino。动过手,知道问题,细节可能在哪。
知识点我不清楚,直接看程序。直接控制也相对简单。


  1. 程序
/*
 实战案例1:控制三色LED灯的闪烁
 2019/3/12
*/
int redpin=9;
int greenpin=10;
int bluepin=11;
int i,val,tmp;
//enum{redpin=9,greenpin=10,bluepin=11}

void setup() {
  //分别定义这三个引脚为输出引脚
  //需要选择支持PWM的引脚
  pinMode(redpin,OUTPUT);
  pinMode(greenpin,OUTPUT);
  pinMode(bluepin,OUTPUT);
}


void loop() {
    //红色缓缓点亮,再熄灭.如果慢慢暗下去,就是呼吸灯了
    for(val=0;val<255;val++)
    {
      analogWrite(redpin,val);
      delay(20);//20ms延时
    } 
    analogWrite(redpin,0);
    delay(2000);

    //绿色缓缓点亮,再熄灭.
    for(val=0;val<255;val++)
    {
      analogWrite(greenpin,val);
      delay(20);//20ms延时
    } 
    analogWrite(greenpin,0);
    delay(2000);

    //蓝色缓缓点亮,再熄灭.
    for(val=0;val<255;val++)
    {
      analogWrite(bluepin,val);
      delay(20);//20ms延时
    } 
    analogWrite(bluepin,0);
    delay(2000);

}
  1. attention
  • analogWrite():analogWrite()
    句法:analogWrite(pin, value)
    描述:将模拟值( PWM波 )写入引脚。 可用于点亮不同亮度的LED或以各种速度驱动电机。
    参数:
    pin :要写入的引脚。 允许的数据类型:int。
    value :占空比:介于0(始终关闭)和255(始终打开)之间。
    允许的数据类型:int 。(如果把value的值,写成256??我没试过~

因而,引脚要的选择要支持PWM。

参考文章:
Arduino学习笔记6:多彩的LED灯
Arduino 003 Ubuntu(Linux) 系统下,如何给板子烧写程序
Arduino语法-时间函数(delay)

猜你喜欢

转载自blog.csdn.net/sinat_38816924/article/details/88422528