跳到:
ESP32教程1/55 - SunFounder ESP32物联网学习套件软件与Arduino IDE简介 ESP32教程2/55 - 什么是ESP32、摄像头扩展板、开箱SunFounder的ESP32物联网套件 ESP32 教程 3/55 - 电阻、LED、面包板项目:你好 LED -ESP32 物联网学习套件 ESP32 教程 4/55 - 数据类型 定义变量 Int、bool、char、串口监视器 - ESP32 物联网套件 ESP32教程5/55 - LED调光,控制LED亮度 - ESP32物联网学习套件 ESP32 教程 6/55 - 使用 RGB LED 项目 2.3 - SunFounder 的 ESP32 物联网学习套件 ESP32教程7/55-在ESP32 Arduino编程中使用数组-SunFounder的ESP32物联网学习套件 ESP32 Tutorial 8/55 -Walking Light 74HC595 Shift register -SunFounder's ESP32 IoT Learning kit ESP32 教程 9/55 - 使用按钮切换LED,按下开,按下关 - SunFounder ESP32 物联网套件 ESP32教程10/55 - 使用七段数码管74HC595的数字计数器 - ESP32物联网学习套件 ESP32教程11/55 - 使用LCD1602 LCD2004与ESP32 - SunFounder的ESP32物联网学习套件 ESP32 教程 12/55 - 使用 SunFounder 的 ESP32 IoT 学习套件进行 WS2812 RGB 灯带 4 项目 ESP32教程13/55 - 使用有源蜂鸣器让Arduino发出蜂鸣声 | SunFounder的ESP32物联网学习套件 ESP32 教程 14/55 - 使用 SunFounder ESP32 IoT 学习套件播放自定义音乐音符 ESP32教程15/55 - 使用ESP32 L293D控制直流电机速度 | SunFounder的ESP32物联网学习套件 ESP32教程16/55 - 使用ESP32和L293D的迷你水泵 | SunFounder的ESP32物联网学习套件 ESP32 教程 17/55 - 使用 ESP32 和电位器控制舵机 - ESP32 物联网学习套件 ESP32教程18/55 - 使用ESP32检测倾斜 | SunFounder的ESP32物联网学习套件 ESP32 教程 19/55 - 使用红外传感器检测障碍物 | SunFounder 的 ESP32 物联网学习套件 ESP32 教程 20/55 - 循迹模块 | SunFounder 的 ESP32 物联网学习套件 ESP32教程21/55 - 使用PIR运动传感器检测人体 | SunFounder的ESP32物联网学习套件 ESP32教程22/55 - 使用LED Arduino感受光线 | SunFounder的ESP32物联网学习套件 ESP32 教程 23/55 - 使用ESP32读取电位器电压 | SunFounder的ESP32物联网套件 ESP32 教程 24/55 - 测量土壤湿度用于灌溉 | SunFounder 的 ESP32 IoT 学习套件 ESP32教程25/55 - 使用NTC和LCD测量温度 | SunFounder的ESP32物联网学习套件 ESP32教程26/55 - 使用操纵杆与Arduino采取行动 | SunFounder的ESP32物联网套件 ESP32 教程 27/55 - 使用超声波传感器测量距离 | SunFounder 的 ESP32 物联网学习套件 ESP32教程28/55 - DHT11温度传感器与LCD | SunFounder的ESP32物联网学习套件 ESP32 教程 29/55 - 使用ESP32读取红外遥控按键| SunFounder的ESP32物联网学习套件 ESP32教程30/55——使用Adafruit IO服务通过MQTT在网页上控制舵机 | SunFounder的ESP32物联网学习套件 ESP32教程31/55 - 带避障功能的LED灯带项目 | SunFounder的ESP32物联网学习套件 ESP32教程32/55 - 带LCD和蜂鸣器的汽车倒车距离警告 | SunFounder物联网学习套件 ESP32 教程 33/55 - 使用 SunFounder 的 ESP32 物联网学习套件制作数字骰子 ESP32 教程 34/55 - 使用RGB LED和旋钮实现颜色渐变 | SunFounder的ESP32物联网学习套件 ESP32教程35/55 - 植物监测器,土壤、温度和光照 | SunFounder的ESP32物联网学习套件 ESP32教程36/55 - 猜数字游戏 | SunFounder的ESP32物联网学习套件 ESP32教程37/55 - 使用蓝牙应用与ESP32 BLE | SunFounder的ESP32物联网学习套件 ESP32 教程 38/55 - 通过手机控制RGB LED | SunFounder的ESP32物联网学习套件 ESP32教程39/55 - 将ESP32用作蓝牙音乐播放器 | SunFounder的ESP32物联网学习套件 ESP32教程40/55 - 读写Micro SD卡 | SunFounder的ESP32物联网学习套件 ESP32教程41/55 - 使用Micro SD卡的MP3播放器 | SunFounder的ESP32物联网学习套件 ESP32教程42/55 - 使用相机拍照并保存到Micro SD卡 CAM-1 | SunFounder的ESP32套件 ESP32教程43/55 - 物联网互联网气象站 | SunFounder的ESP32物联网学习套件 ESP32教程44/55 - ESP32摄像头WiFi视频流网页服务器 CAM-2 | SunFounder的ESP32套件 ESP32教程45/55 - 带LED控制的定制流媒体服务器 CAM-3 l SunFounder的ESP32学习套件 ESP32教程46/55 - 使用HiveMQ MQTT进行远程温度监控 | SunFounder的ESP32套件 ESP32教程47/55 - 使用MQTT通过互联网实现WS2812 CheerLights | SunFounder的ESP32物联网套件 ESP32教程48/55 - 远程温度监控与LED控制MQTT | SunFounder的ESP32物联网套件 ESP32教程49/55 - 通过Adafruit IoT在互联网上控制直流电机 | SunFounder的ESP32套件 ESP32教程50/55 - 从世界任何地方控制RGB LED | SunFounder的ESP32套件 ESP32 Tutorial 51/55 - Temperature and Humidity over WiFi with DHT | SunFounder's ESP32 IoT Learning Kit ESP32教程52/55 - WS2812 CheerLights MQTT全局同步与LCD | SunFounder ESP32物联网套件 ESP32教程53/55 - 构建LCD网络时钟 | SunFounder的ESP32物联网学习套件 ESP32教程54/55 - 通过WiFi设置WS2812 LED灯带颜色 | SunFounder的ESP32物联网学习套件 ESP32教程55/55 - 如何测量12V、24V或100V直流电压 | SunFounder的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_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
}