一、LED灯原理简述
常见的LED灯是由一个发光二极管组成。下面将简单地研究发光二极管的内部结构及其原理
1、什么是发光二极管
发光二极管是半导体二极管的一种,可以把电能转化成光能,常简写为LED。
发光二极管的内部结构跟二极管基本相似,二极管的内部结构及其原理在Arduino拓展教程里有提及,这里就不展开了。
2、为什么二极管会发光
光是能量的一种形式,一种可以被原子释放出来。是由许多有能量和动力但没质量的微小粒子似的小捆组成的。这些粒子被叫做光子,是光的最基本单位。光子是因为电子移动才释放出来。在原子中,电子在原子的四周围以轨道形式移动。电子在不同的轨函数有着不同等的能量。通常来说,有着更大能量的电子以轨道移动远离了核子。当电子从一个更低的轨道跳到一个更高的轨道,能量水平就增高,反过来,当从更高轨函数跌落到更低的轨函数里时电子就会释放能量。能量是以光子形式释放出来的。更高能量下降释放更高能量的光子,它的特点在于它的高频率。
自由电子从P型层通过二极管落入空的电子空穴。这包含从传导带跌落到一个更低的轨函数,这一过程会释放出光子。当发光二极管正向导通时,扩散运动加剧,P区的空穴和N区的电子充分结合,并以光子的形式释放能量。所以,当发光二极管正向导通的时候,发光二极管就能发光了。
二、LED灯原理图
//请大家忽略马赛克。。。
这是大家周二焊的LED灯,从原理图上看,二极管的正级接的是Arduino开发板的IO口,负极接地。这时候,要使LED灯发光,只需要让开发板的IO口输出高电平即可
三、LED跑马灯程序
int led = 3;
//#define led 4 //定义数字IO 2的名字为led
void setup() //初始化部分
{
for(led=2;led<=7;led++)
pinMode(led,OUTPUT); //定义led引脚为输出模式
led=2;
}
void loop() //主循环
{
for(led=3;led<=7;led++)
{
digitalWrite(led,HIGH); //led引脚输出高电平,点亮led
delay(1000); //延时1s
digitalWrite(led,LOW); //led引脚输出低电平,熄灭led
delay(1000); //延时1000ms
}
if(led==8) led=3;
}
//小编没有电了(明示充电了),这一部分具体参考上课讲解
另附Arduino官方函数详解:https://www.arduino.cc/reference/en/