【问题标题】:Ai-Thinker ESP32-CAM: Problems using Pin 13 as INPUT_PULLDOWN after setting pin 14 or 15 as outputAi-Thinker ESP32-CAM:将引脚 14 或 15 设置为输出后使用引脚 13 作为 INPUT_PULLDOWN 时出现问题
【发布时间】:2026-02-04 12:40:01
【问题描述】:

最终目标:我想基于 PIR 运动传感器唤醒 ESP32,做一些事情,然后如果仍然检测到运动,则再次执行,直到不再有运动为止。完成后,它应该发送 2 个 PWM 信号(总共使用 2 个引脚)和一个激活信号(1 个引脚)。

只要我不将引脚 14 或 15 设置为输出,我就可以通过数字读取(使用 Arduino 对其进行编程)从引脚 13 读取,但只要我将它们设置为输出引脚 13 就会停止正确读取.

Ai-Thinker ESP32-CAM 上的针脚非常有限,根据https://randomnerdtutorials.com/esp32-cam-ai-thinker-pinout/ 针脚 13 用于 SD 卡,如果它正在使用,但我没有使用 SD 卡并且没有调用任何函数来初始化它。这意味着它应该可用。我还使用引脚 13 将板子从深度睡眠中唤醒,并且可以正常工作(根据我的经验,其他引脚,例如 12 不起作用)但是一旦板子被唤醒一次并且引脚 14 和 15 设置为输出然后每次即使从深度睡眠中醒来,pin 13 也无法读取。

但是,将引脚 2 设置为输出不会影响引脚 13 执行数字读取的能力。

感谢您提供任何帮助、提示或建议。这个问题困扰了我好几天了。

注意我也发布了这个here

【问题讨论】:

  • 两个问题:是原创AI还是克隆?当您说:我正在使用引脚 13 时,我们是在谈论引脚(Arduino 翻译)还是 ESP GPIO?
  • @Codebreaker007 它看起来像是一个克隆,我不确定他们是否更改了产品的名称(我记得 AiThinker 在名称中),但它现在被称为 AiTrip ESP32 (amazon.com/gp/product/B07WCFGMTF/… )。至于引脚,我使用问题链接中引用的引脚 13,并且还使用“const int motionSensorPin = 13; pinMode(motionSensorPin, INPUT_PULLDOWN); digitalRead(motionSensorPin);”。抱歉,我没有直接回答你的问题,但我不确定。
  • rtos和arduino开发者都可以使用esp32

标签: arduino embedded esp32 freertos


【解决方案1】:

事实证明,引脚 13 没有问题,但我的参考电压。我从具有更大安培容量但参考电压(接地)不同的辅助电源为运动传感器供电。一旦我将运动传感器切换为使用与 ESP32 相同的电源,ESP32 就能够基于引脚 13 唤醒,并在唤醒后读取它。 参考电压不同的问题体现在 ESP32 中,仅在高电平时检测到 PIR 运动传感器信号为 0.92 V,而不是所需的 ~3.3V。
哎呀...

【讨论】: