像往常一样,当我们开始探索一个新硬件时,要做的第一件事就是让LED闪烁。这会让我们兴奋不已,确实值得我们炫耀一番。
一.点亮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引脚的个数,就可以改变流水灯的个数,就这样简易的流水灯就搞定了。二、ESP32 LED的闪烁
更多相关教程请访问(趣讨教创客资源分享平台)www.qutaojiao.com
网友评论