Arduino入门笔记(2)
Arduino控制LED
为什么先控制LED呢,因为简单呗(笑)
LED只需要一个电源输入和一个输出,即一个VCC正极和一个GND接地端。
鉴于普通LED接口太简单,所以直接讲RGB LED。
RGB LED有共阴极和共阳极两种,在此以共阳极为例。
RGB LED共有四个接口,如图:
从左到右的接口依次为:
1:红灯端
2:VCC端 接入5V电源
3:绿灯端
4:蓝灯端
使用时,VCC端接+5V电源(3.3V亦可,区别是亮度不如5V),红,绿,蓝灯端口分别接入Arduino数字接口
若要控制LED各灯亮度,则需要将三灯端口接入支持PWM调频功能的接口(即带有‘~’符号的接口)
控制的代码如下:
analogWrite(10, 255);
其中第一个参数为灯的接口号,类型为int,支持0~13。
第二个参数为PWM电压调节,类型为int,支持0~255。
在共阳极LED中,255为灭(电压最小),0为亮(电压最大)。共阴极LED中应相反。
LED与Arduino链接范例图:
####一个基础的LED控制程序如下:
int RedPin = 11; //定义三个灯接口,红灯接口接11,绿灯接口接10,蓝灯接口接9
int GreenPin = 10;
int BluePin = 9;
analogWrite(RedPin, 0); //每一个analogWrite控制一种LED灯的亮度,三个LED灯泡共同形成彩色
analogWrite(GreenPin, 0);
analogWrite(BluePin, 0);
在这个例子中,LED将会稳定的发出白光。
####下面的例子展示的是一个LED灯进行彩色循环:
//(在模拟器上似乎有BUG)
int RedPin = 11; //定义三个灯接口,红灯接口接11,绿灯接口接10,蓝灯接口接9
int GreenPin = 10;
int BluePin = 9;
void setup() {
}
void setColor(int red,int green,int blue) //这个函数用来控制颜色
{
analogWrite(RedPin, red);
analogWrite(GreenPin, green);
analogWrite(BluePin, blue);
}
void loop(){
setColor(0, 0, 0);
delay(1000); //dalay用于设置延时,1000=1秒
setColor(255,0,255); //绿灯亮
delay(1000);
setColor(255,255,0); //蓝灯亮
delay(1000);
}
在这个例子中,可通过loop循环使LED灯在红,绿,蓝灯循环闪亮,一秒钟变换一次。
上一篇文章: Arduino入门笔记(1)
下一篇文章: Arduino入门笔记(3)