美文网首页ESP32学习教程集合
二、ESP32 LED的闪烁——趣讨教

二、ESP32 LED的闪烁——趣讨教

作者: 束缚HYL | 来源:发表于2019-01-08 20:55 被阅读0次

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

    一.点亮LED

    目录

    1.元器件清单

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

    2.电路连接

    3.LED闪烁代码

    1.元器件清单

    2.电路连接

    3.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引脚的个数,就可以改变流水灯的个数,就这样简易的流水灯就搞定了。二、ESP32 LED的闪烁

    更多相关教程请访问(趣讨教创客资源分享平台)www.qutaojiao.com

    相关文章

      网友评论

        本文标题:二、ESP32 LED的闪烁——趣讨教

        本文链接:https://www.haomeiwen.com/subject/ibtirqtx.html