1. LED闪烁控制
任务目标
使用ESP32开发板控制LED实现周期性闪烁(亮1秒、灭1秒),通过本例掌握GPIO数字输出与延时函数的基本用法。代码同时兼容板载LED(GPIO2)与外接LED(任意GPIO)。
所需硬件与接线
- ESP32开发板(如ESP32-DevKitC、NodeMCU-32S)
- 若使用外接LED:1个LED、1个220Ω限流电阻、面包板及杜邦线
接线方式:LED阳极(长脚)串联220Ω电阻后接GPIO2,阴极(短脚)接GND。若使用板载LED(通常焊接在GPIO2),则无需外接电路。
完整代码
// LED闪烁控制 - ESP32 Arduino框架
// 功能:LED亮1秒,灭1秒,循环往复
#define LED_PIN 2 // 板载LED通常为GPIO2;外接LED可修改此引脚
void setup() {
pinMode(LED_PIN, OUTPUT); // 配置GPIO2为输出模式
}
void loop() {
digitalWrite(LED_PIN, HIGH); // 点亮LED(输出高电平)
delay(1000); // 保持1秒(单位:毫秒)
digitalWrite(LED_PIN, LOW); // 熄灭LED(输出低电平)
delay(1000); // 保持1秒
}
编译与烧录
- 安装Arduino IDE(≥1.8.10)或VS Code + PlatformIO插件。
- 在Arduino IDE中安装ESP32开发板支持包:文件 → 首选项 → 附加开发板管理器网址,填入
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,然后在工具 → 开发板 → 开发板管理器中搜索并安装esp32 by Espressif Systems。 - 选择开发板:工具 → 开发板,选择你的ESP32型号(如"ESP32 Dev Module")。
- 选择端口:工具 → 端口,选择ESP32对应的COM口(Windows)或/dev/cu.*(macOS)。
- 将上述代码复制到Arduino IDE中,点击上传按钮(→)进行编译烧录。
验证方法
烧录完成后,观察LED状态:
- LED应持续以1秒间隔交替亮灭,周期为2秒。
- 若LED不亮,检查接线是否正确、GPIO引脚是否与代码一致(板载LED确认引脚号)。
- 若LED常亮或常灭,检查代码是否成功烧录(可打开串口监视器,波特率115200,按复位键观察是否有启动日志输出)。
通过条件:LED按预期以1秒间隔稳定闪烁,无异常发热或复位现象。
关键说明
pinMode(pin, OUTPUT)将指定引脚配置为数字输出模式。digitalWrite(pin, HIGH/LOW)控制引脚输出高电平(3.3V)或低电平(0V)。delay(ms)为阻塞式延时,单位毫秒。本例中1000即1秒。- 修改
LED_PIN宏定义即可切换控制其他GPIO引脚,无需改动其他代码。
常见问题:若使用外接LED却不亮,请检查LED极性是否接反(长脚接GPIO,短脚接GND),以及电阻是否串联在回路中。若使用板载LED,确认开发板型号对应的LED引脚(多数为GPIO2,部分为GPIO5或GPIO16,请查阅开发板原理图)。