Guia de pinagem do ESP32-CAM AI-Thinker

Eletrônica

O ESP32-CAM é uma placa de desenvolvimento com um chip ESP32-S, uma câmera OV2640, slot para cartão microSD e vários GPIOs para conectar periféricos. Neste guia, veremos os GPIOs do ESP32-CAM e como usá-los.



O ESP32-CAM vem com três GND pinos (coloridos em preto) e dois pinos de alimentação (coloridos em vermelho): 3.3V 5V.

A melhor maneira de fazer upload de código para o ESP32-CAM é usando um programador FTDI .

Aprenda como fazer upload de código para o ESP32-CAM AI-Thinker.

Você pode usar GPIO 1 e GPIO 3para conectar outros periféricos como saídas ou sensores após o upload do código. No entanto, você não poderá abrir o Serial Monitor e verificar se tudo está indo bem com sua configuração. melho): 3.3V e 5V.

Você pode alimentar o ESP32-CAM através do 3.3V ou 5Valfinetes. No entanto, muitas pessoas relataram erros ao alimentar o ESP32-CAM com 3,3V, portanto, sempre recomendamos que o ESP32-CAM seja alimentado através do pino de 5V .

Pino de saída de potência

Há também o pino marcado na serigrafia como VCC(colorido com um retângulo amarelo). Você não deve usar esse pino para alimentar o ESP32-CAM. Esse é um pino de energia de saída. Pode emitir 5V ou 3.3V.

No nosso caso, o ESP32-CAM gera 3.3V, seja alimentado com 5V ou 3.3V. Ao lado do pino do VCC, existem dois blocos. Um rotulado como 3.3V e outro como 5V.

Pinos seriais

GPIO 1 e GPIO 3são os pinos seriais (TX e RX, respectivamente). Como o ESP32-CAM não possui um programador embutido, você precisa usar esses pinos para se comunicar com a placa e fazer o upload do código.

GPIO 0

GPIO 0determina se o ESP32 está no modo intermitente ou não. Este GPIO é conectado internamente a um resistor de 10k Ohm.

Quando o GPIO 0 está conectado ao GND, o ESP32 entra no modo intermitente e você pode carregar o código na placa.

  • GPIO 0 conectado a GND »ESP32-CAM no modo intermitente

Para fazer o ESP32 rodar "normalmente", basta desconectar o GPIO 0 do GND.

GPIO 16

GPIO 16é por padrão um pino UART. No entanto, você pode usá-lo como uma entrada. Ele é conectado internamente a um resistor pull-up de 10k Ohm. Portanto, está em estado alto como padrão.

Observe que o GPIO 16 não é um pino ADC , portanto você não pode ler sensores analógicos nesse pino.

Além disso, o GPIO 16 não é um GPIO RTC , portanto, não pode ser usado como uma fonte de ativação externa .

Conexões do cartão MicroSD

Os seguintes pinos são usados ​​para interagir com o cartão microSD quando estiver em operação.

Cartão microSDESP32
CLKGPIO 14
CMDGPIO 15
DATA0GPIO 2
DATA1 / lanternaGPIO 4
DATA2GPIO 12
DATA3GPIO 13

Se você não estiver usando o cartão microSD, poderá usar esses pinos como entradas / saídas regulares. Você pode dar uma olhada no guia de pinagem do ESP32 para ver os recursos desses pinos.

Lanterna (GPIO 4)

A ESP32-CAM possui um LED embutido muito brilhante que pode funcionar como um flash ao tirar
fotos. Esse LED está conectado internamente aoGPIO 4.

O GPIO também está conectado ao slot do cartão microSD, para que você possa ter problemas ao tentar usar os dois ao mesmo tempo - a lanterna acenderá ao usar o cartão microSD.

Nota: um de nossos leitores compartilhou que, se você inicializar o cartão microSD da seguinte forma, não terá esse problema porque o cartão microSD não usará essa linha de dados. *

SD_MMC.begin("/sdcard", true)

* descobrimos que isso funciona e que o LED não causará esse efeito de flash. No entanto, o LED permanece aceso com pouco brilho - não temos certeza se estamos perdendo alguma coisa.

GPIO 33 - LED vermelho embutido


Ao lado do botão RST, há um LED vermelho a bordo. Esse LED está conectado internamente aoGPIO 33. Você pode usar esse LED para indicar que algo está acontecendo. Por exemplo, se o Wi-Fi estiver conectado, o LED ficará vermelho ou vice-versa.

Como o LED funciona com lógica invertida, você envia um BAIXO sinal para ligá-lo e um ALTO sinal para desligá-lo.

Você pode fazer o upload do seguinte snippet e ver se o LED está aceso.

void setup() {
  pinMode(33, OUTPUT);
}

void loop() {
  pinMode(33, LOW);
}
Mediavine

Conexões da câmera

As conexões entre a câmera e o ESP32-CAM AI-Thinker são mostradas na tabela a seguir.

CÂMERA OV2640ESP32Nome da variável no código
D0GPIO 5Y2_GPIO_NUM
D1GPIO 18Y3_GPIO_NUM
D2GPIO 19Y4_GPIO_NUM
D3GPIO 21Y5_GPIO_NUM
D4GPIO 36Y6_GPIO_NUM
D5GPIO 39Y7_GPIO_NUM
D6GPIO 34Y8_GPIO_NUM
D7GPIO 35Y9_GPIO_NUM
XCLKGPIO 0XCLK_GPIO_NUM
PCLKGPIO 22PCLK_GPIO_NUM
VSYNCGPIO 25VSYNC_GPIO_NUM
HREFGPIO 23HREF_GPIO_NUM
SDAGPIO 26SIOD_GPIO_NUM
SCLGPIO 27SIOC_GPIO_NUM
PIN DE ENERGIAGPIO 32PWDN_GPIO_NUM

Portanto, a definição de pinos para o ESP32-CAM AI-Thinker no IDE do Arduino deve ser a seguinte:

define PWDN_GPIO_NUM  32
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM  0
#define SIOD_GPIO_NUM  26
#define SIOC_GPIO_NUM  27
#define Y9_GPIO_NUM    35
#define Y8_GPIO_NUM    34
#define Y7_GPIO_NUM    39
#define Y6_GPIO_NUM    36
#define Y5_GPIO_NUM    21
#define Y4_GPIO_NUM    19
#define Y3_GPIO_NUM    18
#define Y2_GPIO_NUM    5
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM  23
#define PCLK_GPIO_NUM  22

Fonte
https://randomnerdtutorials.com/esp32-cam-ai-thinker-pinout/
Mais Dicas