当前位置: 首页 > article >正文

1-6 ESP32控制LED灯

1.0 LED简介


LED是英文 "Light Emitting Diode" 的缩写,中文翻译为发光二极管。它是一种能够将电能转化为光能的电子元件。LED是一种半导体器件,在通电时会发出可见光。和传统的白炽灯泡或荧光灯相比,LED具有诸多优点:高效能、长寿命、耐震动、快速开启、低功耗等。因此,LED广泛应用于照明、显示、指示和装饰等领域。

图上展示的是LED灯与面包板


2.0 LED电器参数

普通红色LED:典型的供电电压在1.8V至2.2V之间,典型的供电电流在5mA至20mA之间。

普通绿色LED:典型的供电电压在2.0V至3.6V之间,典型的供电电流在5mA至20mA之间。

普通蓝色LED:典型的供电电压在2.8V至4.0V之间,典型的供电电流在5mA至20mA之间。

我们使用的是红色的LED,我们就取供电电压为2V,电流为10mA(电流越大,亮度越大),则根据欧姆定律可知,LED的内阻为:


3.0 电路搭建

将LED的阳极连接到ESP32的一个GPIO引脚(例如D23或GPIO23),而将LED的阴极连接到一个下拉电阻的一端,该电阻的另一端则连接到ESP32的GND。当需要点亮LED时,可以通过编程使GPIO23输出高电平;反之,若要关闭LED,则设置GPIO23为低电平。通过这种方式,可以灵活地通过软件控制LED的状态。

值得注意的是,虽然ESP32的GPIO引脚在输出高电平时提供的电压大约为3.3V,这超过了红色LED的典型工作电压范围(1.8V~2.2V)。直接施加这样的电压可能会导致LED损坏或显著缩短其使用寿命。因此,在实际应用中,我们需要确保通过适当的方法来限制流过LED的电流和降低其上的电压。

为此,我们可以在电路中引入一个限流电阻。这个电阻不仅有助于将电流保持在一个安全的水平,防止LED因过载而损坏,同时也能够有效地降低LED两端的电压至其额定工作范围内。具体来说,选择合适的电阻值可以确保LED在理想的工作条件下运行,同时避免了由于电压过高带来的潜在风险。

具体面包板搭建电路不做展示


4.0 LED灯控制程序

#include <Arduino.h>

void setup() {
    pinMode(25, OUTPUT);
}

void loop() {
    digitalWrite(25, HIGH);
    delay(500);
    digitalWrite(25, LOW);
    delay(500);
}

注:函数setup表示将25号引脚设置为输出引脚,loop函数相当于是main函数中的while(1)里面的程序会一直循环执行,通过改变引脚电平的高低,实现小灯的闪烁。


注:程序顺利得到运行 


http://www.kler.cn/a/429619.html

相关文章:

  • 新手如何练习SQL?|掌握
  • Xcode 正则表达式实现查找替换
  • 【make】makefile 函数全解
  • 【C语言】字符串函数详解
  • 赤店商城系统点餐小程序多门店分销APP共享股东h5源码saas账号独立版全插件全开源
  • WPF 如何添加系统托盘
  • 11.关于vim编辑器的简单配置
  • UE5中Scene Capture Component 2D组件
  • C++的类
  • Flask返回中文Unicode编码(乱码)解决方案
  • openssl中的SM3
  • C++ 内存管理和模板与STL
  • Vue项目实战-新能源汽车可视化(二)(持续更新中)
  • React第十五节useReducer使用详解差异
  • 39 矩阵置零
  • 远程游戏新体验!
  • HTML5 拖拽 API 深度解析
  • 【漏洞复现】Apache Solr 身份认证绕过导致任意文件读取漏洞复现(CVE-2024-45216)
  • java的 23个设计模式
  • elasticsearch基础总结
  • Hive图书数据分析系统 Springboot协同过滤-余弦函数推荐系统 爬虫1万+数据 大屏数据展示 + [手把手视频教程 和 开发文档]
  • notepad++安装教程(超详细)
  • 三、精准计时:滴答定时器探秘与应用
  • Cherno C++学习笔记 P33 字符串的字面量
  • Java版-图论-拓扑排序与有向无环图
  • spring boot 同一个redis 操作不同的库