0°

二、ESP32 LED的闪烁

像往常一样,当我们开始探索一个新硬件时,要做的第一件事就是让LED闪烁。这会让我们兴奋不已,确实值得我们炫耀一番。

一.点亮LED

1.元器件清单

  • ESP32开发板
  • 一个LED(我这里的是5mm红色)
  • 一个电阻220欧姆
  • 面包板
  • 导线若干

在这里我顺便说一下LED的限流电阻应该怎样选取,设置的合适的阻值。我们可以从LED的数据手册上查到LED的有关参数,要计算LED的限流电阻,最重要的参数为:正向电压(VF)、正向电流(IF)和最大峰值电流(Peak Forward Current)。

LED的正向电流可以取峰值,但是LED要使工作电流小于极限值,所以可以根据以下公式计算:

限流电阻 = 电源电压 – LED 的正向电压 / LED的正向电流

当然在计算出限流电阻阻值后,不是所有的电阻阻值在市场上都可以买到,我们需要选取一个在市场上可以买到的电阻,就需要选取一个与计算阻值相近的电阻阻值,在选取阻值玩后要再重新计算一下,确保LED的正向电流和正向电压没有超出极限值。

一般来说:红绿LED的电压为1.8~2.4V,蓝白LED电压为2.8~4.2V;

3mmLED的额定电流为1~10mA;

5mmLED的额定电流为5~25mA;

10mmLED的额定电流为25~100mA;

2.电路连接

3.LED闪烁代码

/*******************************************************
 * ESP32LED闪烁
 * 功能:实现LED每秒闪烁一下
 * 引脚:D18(GPIO18)
 * Designer: Code_Mouse
 * Date:2018-8-27
 *******************************************************/
 int LED = 2;
void setup()
 {
 pinMode(LED, OUTPUT);
 }
void loop()
 {
 digitalWrite(LED, HIGH); // 打开LED
 delay(1000); //等待一秒
 digitalWrite(LED, LOW); // 关闭LED
 delay(1000); //等待一秒
 }

当看到以上的代码时,脑子会想到与ESP8266和Arduino完全相同的,是的arduino上的语法ESP32都兼容的。这让我们面对ESP32时省了不少的功夫。

接下来呢,就开始我们最经典的LED流水灯的制作。

二.流水灯的制作

1.元器件清单

  • ESP32开发板
  • 四个LED(我这里的是5mm红色)
  • 四个个电阻220欧姆
  • 一块面包板
  • 导线若干

2.电路连接

3.LED流水灯代码

/*******************************************************
 ESP32LED流水灯
 功能:实现四个LED依次流动点亮
 引脚:D15,D4,D2,D5
 Designer: Code_Mouse
 Date:2018-8-27
 *******************************************************/
char LEDPins[] = {15, 4, 2, 5}; // 设定连接的引脚
 int i = 0;
 int L1 = 0;
 int len = 0;
void setup()
 {
 len = sizeof(LEDPins) / sizeof(char); //求数组的长度
 for (i = 0; i < len; i++) { //用for循环设置引脚为输出模式
 pinMode(LEDPins[i], OUTPUT);
 digitalWrite(LEDPins[i], LOW);
 }
 }
void loop()
 {
digitalWrite(LEDPins[L1], HIGH);
 delay(100);
 digitalWrite(LEDPins[L1], LOW);
 delay(100);
 L1 = L1 + 1;
 if (L1 > len || L1 < 0) //判断是否到最后一个灯或最前面的灯
 L1 = 0; //LED灯从头开始
 }

以上的可以通过改变LEDPins[]数组里的GPIO引脚的个数,就可以改变流水灯的个数,就这样简易的流水灯就搞定了。

「点点赞赏,手留余香」

1人已赞赏

  • 猫咪SIR

    ¥2.00
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论