03 ESP32 LED电路

GPIO 引脚

引脚又叫管脚,英文叫 Pin, 就是从集成电路(芯片以及一些电子元件)内部电路引出与外围电路的接线的接口。在这里插入图片描述
GPIO 引脚, 负责输入/输出电压。开发板上 D 开头的引脚都是这种引脚。
VIN与GND之间的电压是5v。
3V3与GND之间的电压是3.3v。

什么是电平?

电路上某点的电压(对公共参考点)或电位是高还是低。比如在逻辑电路中,高于某个数值的电位称其为高电位,或高电平,低于某个数值的,为低电位或低电平。比如 ESP32 中,高电平的数值大于2.5V,低电平的数值小于0.5V,具体的数值最好通过测试研究来确定。

LED

  • LED(light-emitting diode) 即发光二极管。
  • 具有单向导电性
  • 通过 5mA 左右电流即可发光。
  • 电流越大,亮度越强,电流过大,会烧毁,一般控制在 3mA-20mA 之间
  • 通常我们会在 LED 管脚上串联一个电阻,目的就是为了限制通过发光二极管的电流不要太大,因此这些电阻又可以称为限流电阻。
  • 当发光二极管发光时,测量它两端电压约为 1.7V,这个电压又叫做发光二极管的导通压降。
  • 发光二极管正极又称阳极,负极又称阴极,电流只能从阳极流向阴极。直插式发光二极管长脚为阳极,短脚为阴极。

U=IR,U为电压,I为电流,R为电阻

程序

点亮LED

// 设置 LED 引脚
int led_pin = 12;

void setup() 
{
  // 设定引脚为输出模式
  pinMode(led_pin, OUTPUT);
  // 点亮 LED
  digitalWrite(led_pin, HIGH);
}

void loop() 
{
  
}

闪烁LED

// 设置 LED 引脚
int led_pin = 12;

void setup() 
{
  // 设定引脚为输出模式
  pinMode(led_pin, OUTPUT);
}

void loop() 
{
  // 点亮 LED
  digitalWrite(led_pin, HIGH);
  // 等待一段时间
  delay(1000);
  // 关闭 LED
  digitalWrite(led_pin, LOW);
  // 等待一段时间
  delay(1000);
}

流水灯

接线

在这里插入图片描述

正常流水灯

在这里插入图片描述

int arrPin[5] = {13,12,14,27,26};
int arrPinSize = 5;
void setup() 
{
  for(int i=0;i<arrPinSize;i++)
  {
    //设置引脚为输出模式
    pinMode(arrPin[i],OUTPUT);
  }
  
}

void loop() 
{
  for(int i=0;i<arrPinSize;i++)
  {
    digitalWrite(arrPin[i],HIGH);
    delay(50);
  }
    for(int i=0;i<arrPinSize;i++)
  {
    digitalWrite(arrPin[i],LOW);
    delay(50);
  }

}

往复流水灯

在这里插入图片描述

int arrPin[5] = {13,12,14,27,26};
int arrPinSize = 5;
void setup() 
{
  for(int i=0;i<arrPinSize;i++)
  {
    //设置引脚为输出模式
    pinMode(arrPin[i],OUTPUT);
  }
  
}

void loop() 
{
  for(int i=0;i<arrPinSize;i++)
  {
    digitalWrite(arrPin[i],HIGH);
    delay(80);
  }
    for(int i=arrPinSize-1; i>=0; i--)
  {
    digitalWrite(arrPin[i],LOW);
    delay(80);
  }

}

移动流水灯

在这里插入图片描述

int arrPin[5] = {13,12,14,27,26};
int arrPinSize = 5;
void setup() 
{
  for(int i=0;i<5;i++)
  {
    //设置引脚为输出模式
    pinMode(arrPin[i],OUTPUT);
  }
  
}

void loop() 
{
  for(int i=0;i<arrPinSize;i++)
  {
    //点亮
    digitalWrite(arrPin[i],HIGH);
    
    //第一颗亮时最后一颗熄灭,否则前一颗熄灭
    if(i == 0)
      digitalWrite(arrPin[arrPinSize-1],LOW);
    else
      digitalWrite(arrPin[i-1],LOW);

    delay(130);
  }

在这里插入图片描述

什么是ESP32?

ESP32是近几年最受欢迎和最实用的模块之一。除了Wi-Fi模块,该模块还包含蓝牙4.0模块。双核CPU工作频率为80至240 MHz,包含两个Wi-Fi和蓝牙模块以及各种输入和输出引脚, ESP32是物联网项目的理想选择。
在这里插入图片描述

ESP32模块引脚分布

在这里插入图片描述
虽然ESP32的引脚数比常用的处理器少,但在引脚上复用多个功能时不会遇到任何问题。
警告:ESP32引脚的电压电平为3.3伏。如果要将ESP32连接到其他工作电压为5伏的设备,则应使用电平转换器转换电压电平。

  • 电源引脚:该模块有两个电源引脚 5V和3.3V。您可以使用这两个引脚来向其他设备和模块供电。
  • GND引脚:该模块的接地有3个引脚。
  • 启用引脚(EN):该引脚用于启用和禁用模块。引脚为高电平时启用模块,低电平禁用模块。
  • 输入/输出引脚(GPIO):您可以使用32个GPIO引脚与LED、开关和其他输入/输出设备进行通信。
    您可以在内部上拉或下拉这些引脚。
    注意:GPIO6至GPIO11引脚(SCK/CLK,SDO/SD0,SDI/SD1,SHD/SD2,SWP/SD3和SCS/CMD引脚)用于模块内部闪存的SPI通信,我们不建议使用它们。
  • ADC:您可以使用此模块上的16个ADC引脚将模拟电压(某些传感器的输出)转换为数字电压。其中一些转换器连接到内部放大器,能够以高精度测量小电压。
  • DAC:ESP32模块有两个数模转换器,精度为8位。
  • 触摸焊盘:ESP32模块上有10个引脚,对电容变化很敏感。您可以将这些引脚连接到某些焊盘(PCB上的焊盘),并将它们用作触摸开关。
  • SPI:该模块上有两个SPI接口,可用于连接显示屏、SD / microSD存储卡模块、外部闪存等。
  • I2C:SDA和SCL引脚用于I2C通信。
  • 串行通信(UART):该模块上有两个UART串行接口。使用这些引脚,您可以在两个设备之间传输高达5Mbps的信息。 UART0还具有CTS和RTS控制。
  • PWM:几乎所有ESP32输入/输出引脚都可用于PWM(脉冲宽度调制)。使用这些引脚可以控制电机、LED灯的亮度和RGB灯的颜色等。

ESP32模块模式

ESP32芯片有5种模式:

  • 活动模式:在这种模式下,Wi-Fi和蓝牙发射器和接收器的所有部分都是活动的。在这种情况下,电流消耗在80和260mA之间。
  • 调制解调器睡眠模式:处理器仍处于活动状态,但Wi-Fi和蓝牙已禁用。在这种情况下,电流消耗在3到20mA之间。
  • 轻度睡眠模式:主处理器停止工作,但RTC单元和ULP处理器单元仍处于活动状态。电流消耗约为0.8 mA。
  • 深度睡眠模式:只有RTC单元处于活动状态。在这种情况下,Wi-Fi和蓝牙通信的数据存储在RTC的存储器中。在此模式下,电流消耗在10到150μA之间。
  • 休眠模式:除了用于时钟的RTC定时器和连接到RTC的一些I / O引脚外,所有单元均被禁用。 RTC定时器或连接的引脚可以将芯片从此状态唤醒。在这种情况下,电流消耗约为2.5μA。
    有关更多信息,请查看模块数据表。

在Arduino IDE上开发ESP32

《在Arduino IDE上开发ESP32》

在VSCode中使用PlatformIO开发ESP32

《在VSCode中使用PlatformIO开发ESP32》

ESP32技术专栏

《里海ESP32专栏》

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王牌飞行员_里海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值