【问题标题】:ESP32-Cam: SD and camera use up all the pinsESP32-Cam:SD 和摄像头用完所有引脚
【发布时间】:2022-08-12 23:50:11
【问题描述】:

我需要做的就是拍照并在按下按钮时将其保存到 SD 卡中。但是只使用相机和 SD 卡,所有的 GPIO 引脚都用完了。有没有办法释放一个按钮?

SD:GPIO 2、4、12、13、14、15

相机:GPIO 0

串行:GPIO 1、3

这只剩下 GPIO 16,它似乎一直都是高电平。

#include \"esp_camera.h\"
#include \"Arduino.h\"
#include \"FS.h\"                
#include \"SD_MMC.h\"            

#define BTN 16
#define LED_BUILT_IN 33

int picCount = 0;

void setup() {
  Serial.begin(115200);

  pinMode(BTN, INPUT);
  pinMode(LED_BUILT_IN, OUTPUT);

  setupSD();
  setupCamera();
}

void loop() {
  if (digitalRead(BTN) == HIGH) {
    digitalWrite(LED_BUILT_IN, HIGH);
    takePicture();
    digitalWrite(LED_BUILT_IN, LOW);
  }
  delay(50);
}
  • esp-32 有很多 io。你到底用什么板?
  • 典型的ESP32-Cam

标签: c++ arduino esp32 gpio


【解决方案1】:

我设法在 ESP32 Cam 中添加了一个按钮和一个 I2C OLED 显示屏,以制作一个带有用户界面的延时相机。

我这样分配引脚:

我“借”了这些

P2-1 / GPIO4 - I2C 数据

P2-5 / GPIO13 - I2C 时钟

P2-6 / GPIO12 - 按钮

这些已经在原始设计中使用,如下所示:

P2-1 / GPIO4 用于闪光灯 LED - 我断开了 LED,因为我不需要它。您可以将其保持连接 - 更新显示屏时它会令人讨厌地闪烁,但如果需要,您可能仍会持续点亮;在为照片照明时不会更新显示屏。 该引脚还用于原始设计中的 SD 卡,该设计使用六根线来访问 SD 卡。我改为只使用三个,从而释放了这些引脚。

对于 SD 卡,我使用了 3 线模式,它使用:

P2-2 / GPIO2 - SD 卡 MISO / 数据 0

P2-3 / GPIO14 - SD 卡时钟

P2-4 / GPIO 15 - SD 卡 MOSI / 命令

这些已经在 ESP32Cam 板内部连接。上述引脚(GPIO4、GPIO13 和 GPIO12)也与 SD 卡相连,但如果 SD 卡在三线模式下使用,则不会造成任何伤害。

您还可以将 UART 0 TX 和 RX 引脚用于其他功能,当您想要对设备进行编程时会断开这些功能,然后在对设备进行编程后重新连接。

P1-2 / GPIO1 - UART TX

P1-3 / GPIO3 - UART RX

如果您将它们用作按钮,则在编程时不需要隔离它们的方法,但请确保在按钮上串联一个约 330 欧姆的电阻。否则在 UART 模式下不小心按下按钮会导致短路。

(编辑:抱歉,格式有点乱,我无法正确显示换行符,我得到双倍换行符或根本没有换行符)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 2021-05-03
    • 1970-01-01
    • 2012-06-19
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多