
如何点亮LED、LED驱动原理(学习笔记)
LED的应用场景有哪些?
这下面发光的都算是。
不同LED灯封装的作用?
插件的LED灯珠长引脚为正极,短引脚为负极。
LED(发光二极管)两端存在电压差,有一定的电流流过时会发亮。
电流可以理解为水流,电压差可以理解为水位差,当两个点水位高度不一样时,水流会从高水位流向低水位。
但需要注意:流过的LED的电流需要在一定范围内,否则会烧坏LED,一般小于20ma,所以我们就需要串联电阻分压,那串联的电阻需要多大阻值呢?
插件LED的限流电阻计算
一般插件LED电流是20ma左右,压降,红/黄色1.8V,蓝/白色 3V,实际电压要看LED规格书。
一般贴片LED电流是5ma左右,压降,红/绿/橙色1.8V,蓝/白色 3V。
例如:供电电压是3.3V,黄色插件LED
根据V = I * R,(供电电压减去灯泡的电压除以电流)则R= (3.3 - 1.8) / 0.02 (20ma = 0.02),所以R = 75 欧姆。
很多时候你看到别人设计的电路中,LED串联的电阻去到几百欧或几千欧都有,是设计错了吗?
实际上这是非常合理的,因为大多数电路中,LED只是一个提示灯,对亮度没有要求,反而希望把功耗降低,所以需要增大限流电阻来实现超低电流,像产品中的贴片LED去到0.5ma也是能看清灯光的。
接线图
准备材料:
面包板、线、LED灯、电阻
面包板两个排线是相同的就不需要去进行焊接那么麻烦。
很抱歉各位由于我的板机还没有到,所以我们可以通过模拟器进行操作。
网站:https://wokwi.com/projects/new/esp32
实验如下
首先我们有一个esp32的板子,添加一个电阻和一个LED灯到模拟器中,并将它们用线连起来。
如下图所示:
注意:我们这里输出的电流是从D18输出的,最后连接到达GND接地。
然后我们实现一下灯泡一闪一闪的代码
代码如下:
//头文件
#include <Arduino.h>
//定义LED灯引脚为常量,因为程序跑起来就不需要更改IO值
#define PIN_LED 18
void setup() {
//初始化引脚为输出
pinMode(PIN_LED, OUTPUT);
}
void loop() {
//设置为高电平(3.3V),1s后设置为低电平(0V),再1s后重复
digitalWrite(PIN_LED, HIGH);
delay(1000);
digitalWrite(PIN_LED, LOW);
delay(1000);
}
然后它每隔一秒执行一闪一闪的操作。
学习视频
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

