掌 ESP32 GPIO 输出控制基本方法
使用 ESP32 开发板自带的 LED 灯(通常连接在 GPIO2),实现最基本的 LED 点亮和熄灭控制。
工具 → 开发板 → ESP32 Arduino → ESP32 Dev Module工具 → 端口 → 选择对应的 COM 端口(Windows)创建新项目:
// 定义LED引脚,ESP32通常板载LED连接在GPIO 2
const int ledPin = 2;
void setup() {
// 初始化串口通信,设置波特率为115200
Serial.begin(115200);
// 将LED引脚设置为输出模式
pinMode(ledPin, OUTPUT);
}
void loop() {
digitalWrite(ledPin, HIGH); // 点亮LED
Serial.println("LED ON"); // 串口输出提示
delay(1000); // 保持1秒(1000毫秒)
digitalWrite(ledPin, LOW); // 熄灭LED
Serial.println("LED OFF"); // 串口输出提示
delay(1000); // 保持1秒
}
delay(1000) 的数值。SOS 求救信号模式: 基于摩尔斯电码(三短、三长、三短),尝试修改代码实现 SOS 信号灯。
// SOS 示例思路
// S: 短闪3次
for(int i=0; i<3; i++) { digitalWrite(ledPin, HIGH); delay(200); digitalWrite(ledPin, LOW); delay(200); }
delay(500); // 字母间隔
// O: 长闪3次
for(int i=0; i<3; i++) { digitalWrite(ledPin, HIGH); delay(600); digitalWrite(ledPin, LOW); delay(200); }
delay(500);
// S: 短闪3次
for(int i=0; i<3; i++) { digitalWrite(ledPin, HIGH); delay(200); digitalWrite(ledPin, LOW); delay(200); }
delay(2000); // 单词间隔
问题1:LED 不亮
pinMode 是否正确设置。问题2:LED 常亮不闪烁
delay() 函数参数是否正确。digitalWrite(LOW) 是否正确执行。问题3:上传失败