如何点亮LED、LED驱动原理(学习笔记) 电脑版发表于:2023/8/18 14:19 ![](https://img.tnblog.net/arcimg/hb/ebdf26a98c214873aa205445b60ae1c5.png) >#如何点亮LED、LED驱动原理(学习笔记) [TOC] LED的应用场景有哪些? ------------ tn2>这下面发光的都算是。 ![](https://img.tnblog.net/arcimg/hb/a9713daf3122497288c4e3a8718961d5.png) 不同LED灯封装的作用? ------------ tn2>插件的LED灯珠长引脚为正极,短引脚为负极。 ![](https://img.tnblog.net/arcimg/hb/5f0ae5f42de647feb30d505276217426.png) tn2>LED(发光二极管)两端存在电压差,有一定的电流流过时会发亮。 电流可以理解为水流,电压差可以理解为水位差,当两个点水位高度不一样时,水流会从高水位流向低水位。 ![](https://img.tnblog.net/arcimg/hb/517c7c4be4ff4e09bfd265294172842b.png) tn2>但需要注意:流过的LED的电流需要在一定范围内,否则会烧坏LED,一般小于20ma,所以我们就需要串联电阻分压,那串联的电阻需要多大阻值呢? 插件LED的限流电阻计算 ------------ ![](https://img.tnblog.net/arcimg/hb/27d6d64f0c82453981a4aae71c41e559.png) tn2>一般插件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 欧姆。 ![](https://img.tnblog.net/arcimg/hb/e6f3f4d0c0914134bf24ce10f120a33e.png) tn>很多时候你看到别人设计的电路中,LED串联的电阻去到几百欧或几千欧都有,是设计错了吗? 实际上这是非常合理的,因为大多数电路中,LED只是一个提示灯,对亮度没有要求,反而希望把功耗降低,所以需要增大限流电阻来实现超低电流,像产品中的贴片LED去到0.5ma也是能看清灯光的。 接线图 ------------ tn2>准备材料: 面包板、线、LED灯、电阻 ![](https://img.tnblog.net/arcimg/hb/50ee9631dfb643d0862c859def281259.png) tn2>面包板两个排线是相同的就不需要去进行焊接那么麻烦。 ![](https://img.tnblog.net/arcimg/hb/5b977f7f55854f748892bf04acc402a1.png) ![](https://img.tnblog.net/arcimg/hb/156811eaf49441c28894b7ca8939ff97.png) ![](https://img.tnblog.net/arcimg/hb/aaf5355d498f449b9e5ee8e6f5a16484.png) tn2>很抱歉各位由于我的板机还没有到,所以我们可以通过模拟器进行操作。 网站:https://wokwi.com/projects/new/esp32 实验如下 ------------ tn2>首先我们有一个esp32的板子,添加一个电阻和一个LED灯到模拟器中,并将它们用线连起来。 如下图所示: ![](https://img.tnblog.net/arcimg/hb/89719e19ed854e85b4e14bd02a9f3c40.png) tn>注意:我们这里输出的电流是从D18输出的,最后连接到达GND接地。 然后我们实现一下灯泡一闪一闪的代码 代码如下: ```cpp //头文件 #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); } ``` tn2>然后它每隔一秒执行一闪一闪的操作。 ![](https://img.tnblog.net/arcimg/hb/5dafa66659dd4429bf7605f96fc5f332.png) 学习视频 ------------ tn2>https://www.bilibili.com/video/BV1QL411673n/?p=18&spm_id_from=333.880.my_history.page.click&vd_source=0a9564bfc7982839767a99fe6bf60155