O ESP32-CAM vem com três GND pinos (coloridos em preto) e dois pinos de alimentação (coloridos em vermelho): 3.3V e 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 microSD | ESP32 |
CLK | GPIO 14 |
CMD | GPIO 15 |
DATA0 | GPIO 2 |
DATA1 / lanterna | GPIO 4 |
DATA2 | GPIO 12 |
DATA3 | GPIO 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); }
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 OV2640 | ESP32 | Nome da variável no código |
D0 | GPIO 5 | Y2_GPIO_NUM |
D1 | GPIO 18 | Y3_GPIO_NUM |
D2 | GPIO 19 | Y4_GPIO_NUM |
D3 | GPIO 21 | Y5_GPIO_NUM |
D4 | GPIO 36 | Y6_GPIO_NUM |
D5 | GPIO 39 | Y7_GPIO_NUM |
D6 | GPIO 34 | Y8_GPIO_NUM |
D7 | GPIO 35 | Y9_GPIO_NUM |
XCLK | GPIO 0 | XCLK_GPIO_NUM |
PCLK | GPIO 22 | PCLK_GPIO_NUM |
VSYNC | GPIO 25 | VSYNC_GPIO_NUM |
HREF | GPIO 23 | HREF_GPIO_NUM |
SDA | GPIO 26 | SIOD_GPIO_NUM |
SCL | GPIO 27 | SIOC_GPIO_NUM |
PIN DE ENERGIA | GPIO 32 | PWDN_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