1. LED闪烁控制

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秒
}

编译与烧录

  1. 安装Arduino IDE(≥1.8.10)或VS Code + PlatformIO插件。
  2. 在Arduino IDE中安装ESP32开发板支持包:文件 → 首选项 → 附加开发板管理器网址,填入 https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,然后在工具 → 开发板 → 开发板管理器中搜索并安装 esp32 by Espressif Systems。
  3. 选择开发板:工具 → 开发板,选择你的ESP32型号(如"ESP32 Dev Module")。
  4. 选择端口:工具 → 端口,选择ESP32对应的COM口(Windows)或/dev/cu.*(macOS)。
  5. 将上述代码复制到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,请查阅开发板原理图)。