ESP32-WROOM 38引脚开发板板载LED控制问题咨询
ESP32-WROOM板载LED控制问题排查
- 先明确:输入命令时LED能闪烁,说明LED硬件、供电电路都没问题,问题出在引脚选择或电平逻辑上。
1. 确认板载LED的对应引脚
不同38引脚的ESP32-WROOM开发板,板载LED的引脚不一定和通用示例一致,别局限于网上的默认引脚。可以用这段代码逐个测试常见引脚:
from machine import Pin # 遍历常见的板载LED引脚,输出低电平测试 for pin in [2,13,22,25,26,27]: p = Pin(pin, Pin.OUT) p.value(0) input("当前测试引脚{},LED亮的话按回车结束;没亮按回车测下一个...".format(pin)) p.value(1)
测试时哪个引脚能让LED亮,就是正确的引脚号。
2. 修正电平逻辑(关键)
大部分ESP32开发板的板载LED是低电平触发——也就是引脚输出低电平时LED点亮,高电平时熄灭。你用的Signal类默认on()是输出高电平,如果LED是低触发,自然点不亮。
解决方法二选一:
- 方法一:用
Signal时指定反转电平from machine import Signal, Pin # 把XX换成你测试出来的正确引脚号 led = Signal(XX, Pin.OUT, invert=True) led.on() # 此时会输出低电平,点亮LED - 方法二:直接用
Pin类控制,逻辑更直观from machine import Pin led = Pin(XX, Pin.OUT) led.off() # 输出低电平,点亮LED led.on() # 输出高电平,熄灭LED
3. 关于输入命令时LED闪烁的原因
这是因为ESP32在REPL交互过程中,部分引脚会伴随串口通信产生短暂的电平波动,刚好触发了LED的电路,进一步验证了LED硬件是正常的。
内容的提问来源于stack exchange,提问作者rpx
相关产品推荐
相关产品推荐

