搜索代码

ESP32教程5/55 - LED调光,控制LED亮度 - ESP32物联网学习套件

ESP32教程5/55 - LED调光,控制LED亮度 - ESP32物联网学习套件

本教程演示如何使用ESP32微控制器控制LED的亮度,具体使用的是SunFounder ESP32物联网学习套件(视频00:04处)。该项目非常适合初学者学习脉冲宽度调制(PWM)及其在控制光源强度方面的应用。ESP32内置的PWM功能可实现平滑、精确的控制,为创意项目开辟了无限可能。

实际应用:

  • 创建亮度可调的环�境照明系统。
  • 构建具有渐变效果的简易小夜灯。
  • 开发用于各种状态(如电量低、网络连接)的动态指示灯。
  • 与其他传感器和执行器集成,创建复杂的交互式装置。

硬件/组件

该项目使用SunFounder ESP32入门套件(视频00:12处),其中包括ESP32微控制器、扩展板、各种组件以及18650锂电池。您还需要一个LED和一个220欧姆电阻(视频04:32处)。

接线指南

请参考视频中的接线图(视频01:46和04:18处)以及时间戳04:40处的详细说明。接线涉及将LED的阳极连接到电阻,电阻连接到ESP32的GPIO 26引脚,LED的阴极连接到地线。

LED_with_Resistor


LED与220欧姆电阻串联。以下是面包板上的接线。

LED_fade_ESP32

代码说明

Arduino代码使用脉冲宽度调制(PWM)来控制LED的亮度。关键的可配置部分包括:

  • ledPin:定义连接到LED的GPIO引脚(视频09:41处,设置为26)。如果使用其他引脚,请更改此值。
  • fadeAmount:控制LED亮度变化的速度(视频10:06处)。数值越大,渐变越快。当亮度达到最小值(0)或最大值(255)时,代码会自动反转方向(视频11:44处)。

const int ledPin = 26;  // LED的GPIO引脚
int brightness = 0;
int fadeAmount = 5;

void setup() {
  ledcAttachPin(ledPin, 0); // 将引脚连接到PWM通道
}

void loop() {
  ledcWrite(ledPin, brightness); 
  brightness = brightness + fadeAmount;
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(50); 
}

实际项目/演示

视频演示了LED渐变的实际效果(视频14:51处)。讲师展示了如何调整fadeAmount变量来控制渐变速度(视频15:16和15:51处)。视频还展示了将代码上传到ESP32的过程(视频14:20处)。

章节

  • [00:00] 介绍与项目概述
  • [00:12] ESP32入门套件概述
  • [01:46] 接线图与说明
  • [02:03] 数字信号与PWM
  • [04:18] LED接线
  • [06:33] 代码说明:函数
  • [09:11] 代码说明:LED渐变
  • [13:33] 上传代码
  • [14:51] 实际演示与调整

图像

LED_fade_ESP32
LED_fade_ESP32
LED_with_Resistor
LED_with_Resistor
791-ESP32 Tutorial 5/55 - LED Fade, control brightness of an LED in Arduino
语言: C++
const int ledPin = 26; // The GPIO pin for the LED
int brightness = 0;
int fadeAmount = 5;

void setup() {
  ledcAttach(ledPin, 5000, 8); // Attach the LED pin
}

void loop() {
  ledcWrite(ledPin, brightness); // Write the new brightness value to the PWM pin
  brightness = brightness + fadeAmount;
  if (brightness <= 0 || brightness >= 255) {
    fadeAmount = -fadeAmount;
  }
  delay(50); // Wait for 50 milliseconds
}

资源与参考

尚无可用资源。

文件📁

没有可用的文件。