Pesquisar

Como Programar o ESP32-CAM pelo Arduino IDE

Como programar o ESP32-CAM pelo Arduino IDE

Neste post, será apresentado como programar o ESP32-CAM pelo Arduino IDE, desde a instalação do IDE, seus drivers e Plugins. Além disso, se desejar adquirir esse controlador da nossa loja RoboBuilders, clique aqui

Sumário

Informações Gerais

  • Placa compacta com câmera de boa resolução;
  • Pode ser usada para reconhecimento facial;
  • Utiliza o microcontrolador ESP32.

Especificações Técnicas

  • MCU: ESP32;
  • Processador: Xtensa® Dual-Core 32-bit LX6;
  • ROM: 448Kb;
  • RAM: 520Kb;
  • Flash: 4MB;
  • Suporte para câmera: OV2640 e OV7670;
  • Clock máximo: 240MHz;
  • Wireless padrão: 802.11 b/g/n;
  • Conexão wifi: 2,4Ghz (máximo 150Mbps);
  • Suporte para cartão SD;
  • Antena interna e opção para antena externa com conector IPEX.

Arduino IDE

O primeiro passo para programar o esp32 é instalar o Arduino IDE no computador. Caso já a tenha pule para o próximo tópico. 

  1. Acesse a Página Oficial do Arduino clicando aqui;
  2. Dentro da Página escolha seu sistema operacional de acordo como mostra a imagem abaixo;

Caso seu Sistema Operacional não apareça, tente as opções do IDE Legacy.

  1.  Após baixado, prossiga com a instalação. Em caso de dificuldade, assista o vídeo abaixo.

Tutorial em vídeo

Instalando o Plugin do ESP32 na IDE

Nesse tópico será apresentado o passo a passo para a instalação do plugin que tornará possível a programação do ESP32 pelo Arduino IDE.

  1. Abra o IDE e vá até file -> preferences;
  1. No campo “Additional Boards Manager URLs:” escreva https://dl.espressif.com/dl/package_esp32_index.json e clique em OK;
  1. Em seguida, vá até Tools -> Board -> Boards Manager;
  1. Procure por ESP32 no campo de busca e aperte Install na opção do Espressif Systems para começar o download e instalação;

Como conectar o ESP32 CAM no computador

  1. O ESP32-CAM diferentemente do ESP32 comum, não possuí portas USB. Oque significa que antes de programa-lo precisamos instalar um adaptador à ele. Para servir à essa função temos algumas opções, mas hoje vamos abordar 3 delas.
  2. A primeira opção é a instalação do FT232RL. Essa conexão pode ser feita de acordo com o esquema apresentado abaixo. 
  1. Nossa próxima opção é o uso do CP2102. Como mostrado no diagrama abaixo.
  1. A terceira opção que será abordada é a mais incomum, sendo o uso de uma placa arduino como intermédio dessa comunicação entre ESP e computador. Podendo ser feito como mostrado no esquema à seguir.

Obs: é recomendado usar um divisor de tensão/conversor lógico para o sinal TX0 do Arduino pois esse sinal tem amplitude de 5VDC e o ESP32 não é tolerante a 5V.

Como programar o ESP32 pelo Arduino IDE

  1. Com o plugin instalado e as conexões feitas, podemos testar o conjunto. Para isso, vamos selecionar a placa em Tools -> Board -> ESP32 -> ESP32 CAM;
    1. Conecte o seu ESP32 na porta USB do seu computador e selecione a porta de comunicação em Tools -> Port -> COMX (a COM que está conectada no seu ESP32);
  1. Para esse teste, não vamos escolher nenhum código específico para fazer o upload para o módulo ESP32, com isso, vamos clicar em Upload como na imagem abaixo;
  1. Se tudo der certo, o código irá ser gravado no ESP32 e uma mensagem de Done uploading será mostrada como na imagem abaixo. Caso não apareça essa mensagem, vá até o próximo tópico para descobrir os possíveis erros e soluções.

Erro de Upload: “A fatal error occurred: Failed to connect to ESP32: Timed out… Connecting…“

Solução 1:

Seu módulo ESP32 não está conseguindo entrar no modo gravação automaticamente e você deve pressionar o botão boot/flash do módulo e clicar em upload para a gravação do código no ESP32. Apenas solte o botão boot/flash quando o upload for concluído e mensagem “Done uploading” aparecer.

Solução 2:

Conecte os pinos GPIO0 e GPIO2 no GND diretamente. Após a ligação, conecte a porta USB do ESP32 no seu computador e pressione upload para começar a gravação do código no módulo.

*para mais informações sobre modos de funcionamento do ESP32, vá até o datasheet do circuito integrado.