Pesquisar

Como usar o ESP32-CAM com a IDE do Arduino

Neste post iremos mostrar como utilizar e programar o ESP32-CAM com a IDE do Arduino. Para comprar esse produto em nossa loja, clique aqui. Veja mais informações do produto.

Informações gerais

  • O ESP32-CAM é um módulo compacto que combina a potência do microcontrolador ESP32 e uma câmera OV2640 em um único dispositivo. Essa combinação permite que os desenvolvedores incorporem recursos de captura de imagem e conectividade Wi-Fi em seus projetos de forma conveniente e eficiente;
  • Essa placa oferece uma ampla variedade de recursos e funcionalidades que o tornam uma escolha popular para projetos de IoT e de monitoramento visual. Ele suporta resoluções de até 2 megapixels, possui uma interface SD para armazenamento local, suporta comunicação Wi-Fi e possui GPIOs (General Purpose Input/Output) para conexão com outros dispositivos. Além disso, o módulo pode ser programado usando a linguagem de programação Arduino e oferece suporte a bibliotecas específicas para a câmera;
  • O projeto do ESP32-CAM pode ser utilizado em uma variedade de aplicações práticas. Ele é frequentemente utilizado em projetos de monitoramento remoto, como câmeras de segurança, sistemas de vigilância doméstica e até mesmo em robôs com capacidade de visão. Além disso, o módulo pode ser integrado em projetos de automação residencial, como campainhas inteligentes e dispositivos de controle de acesso baseados em reconhecimento facial;
  • Ele é suportado por uma comunidade ativa de desenvolvedores e entusiastas que compartilham conhecimento, exemplos de código e soluções para problemas comuns. Existem fóruns online dedicados ao ESP32 e à câmera OV2640, onde é possível obter suporte e orientação durante o desenvolvimento de projetos. Além disso, a documentação oficial do ESP32 e as bibliotecas disponíveis facilitam a programação e a integração do módulo em diferentes contextos;

Especificações técnicas

ESP32

  • CPU: Xtensa® Dual-Core 32-bit LX6;
  • ROM: 448 KBytes;
  • RAM: 520 Kbytes;
  • Flash: 4 MB;
  • 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 de 150 Mbps);
  • Suporte para cartão SD;
  • Antena embutida;
  • Conector micro-usb;
  • Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner mode e P2P Power Management;
  • Modos de operação: STA/AP/STA+AP;
  • Bluetooth BLE 4.2;
  • Portas GPIO: 16;
  • GPIO com funções de PWM, I2C, SPI, etc;
  • Tensão de operação: 5 V;
  • Taxa de transferência: 110-460800 bps;
  • Suporta Upgrade remoto de firmware;
  • Conversor analógico digital (ADC);
  • Distância entre pinos: 2,54 mm;
  • Dimensões: 64 x 27,5 x 5,5 mm
Para mais especificações, acesse o manual original do produto clicando aqui (LINK).

Diagrama de pinagem

O ESP32-CAM possui três pinos GND e dois pinos de energia, um de 3,3V e outro de 5V. Além disso, há o pino VCC, mas é importante ressaltar que este pino não deve ser utilizado para alimentar o ESP32-CAM. O pino VCC é uma saída de alimentação que pode fornecer 5V ou 3,3V, dependendo da configuração.

Os pinos GPIO 1 e GPIO 3 são os pinos seriais (TX e RX, respectivamente). Como o ESP32-CAM não possui um programador embutido, é necessário utilizar esses pinos para se comunicar com a placa e fazer o upload do código. Recomenda-se o uso de um programador FTDI para realizar o upload de código para o ESP32-CAM.

Após o upload do código, é possível utilizar os pinos GPIO 1 e GPIO 3 para conectar outros periféricos, como saídas ou sensores. No entanto, é importante notar que não será possível abrir o Serial Monitor para verificar o funcionamento da configuração.

O pino GPIO 0 é responsável por determinar se o ESP32 está em modo intermitente ou em modo de funcionamento normal. Esse pino é conectado internamente a um resistor pull-up de 10k Ohm. Quando o GPIO 0 está conectado ao GND, o ESP32 entra em modo intermitente, permitindo o envio do código para a placa. Para retornar ao modo de funcionamento normal, basta desconectar o GPIO 0 do GND.

É importante seguir corretamente as instruções de conexão e utilizar os pinos adequadamente para garantir o correto funcionamento do ESP32-CAM. Consultar a documentação oficial e o esquemático do módulo pode fornecer informações adicionais e detalhadas sobre a pinagem específica do seu modelo.

Diagrama de pinagem do ESP32-CAM

Como conectar o projeto

Existem diferentes formas de conectar seu ESP32-CAM com a Arduino IDE. Acompanhe algumas maneiras físicas de fazer esta conexão.

Talvez você não tenha um cabo FTDI ou um programador FTDI em mãos, mas pode ter um Arduino, seja ele um Nano , Uno , ou outra placa Arduino. Você pode enviar dados da placa Arduino para o ESP32-CAM serialmente usando o protocolo de comunicação UART, que possui as seguintes conexões:

O cabo FTDI (Future Technology Devices International) é um conversor USB-para-Serial que fornece uma maneira simples de conectar seu ESP32-CAM a uma porta USB em seu computador. Se você tiver um cabo FTDI disponível, poderá alimentar a placa com os pinos de 3,3 V ou 5 V, além dos pinos de aterramento (GND).

O pino GPIO 0 determina o modo Normal ou o modo Flash do módulo:

  • GPIO 0 conectado ao terra (ESP32-CAM no modo Flash): você pode carregar o código.
  • GPIO 0 não conectado ao terra (ESP32-CAM em modo normal: A placa está pronta para executar o programa.

Existem dois pinos seriais, GPIO 01 (UOT) e GPIO 03 (UOR), que podem ser usados ​​para transmissão serial e para receber dados com o protocolo UART (Universal Asynchronous Receiver-Transmitter).

Além do cabo FTDI, você precisará de cinco jumper para conectar o ESP32-CAM, conforme as seguintes orientações:

  • O cabo vermelho de 5V se conecta a 5V na placa (ou 3,3V se você usar um cabo FTDI de 3,3V).
  • GND para GND.
  • Cabo laranja TXD para UOT na placa.
  • RXD cabo amarelo para UOR na placa.
  • Um jumper conecta GPIO0 e GND (antes de carregar o código). Lembre-se sempre de resetar a placa após alterar o estado do GPIO0. Conecte e reinicie para carregar, desconecte e reinicie para executar o programa.

Lembre-se de que, como o botão de reinicialização está na parte inferior da placa, pode ser difícil alcançá-lo. Para redefinir a placa, você pode simplesmente desconectar e reconectar o fio de 5V ou o fio terra. 

Diagrama de conexão (Cabo FTDI)

Um programador FTDI tem exatamente a mesma função que o cabo, também é um conversor USB para Serial, permitindo que você simplesmente conecte-o a uma porta USB em seu computador. A diferença entre o cabo e o programadorestá na conexão dos pinos:

  • Conecte o RX no programador FTDI ao UOT na placa.
  • Conecte TX no programador FTDI ao UOR na placa.

Normalmente, os programadores FTDI têm um jumper para selecionar 3,3V ou 5V. Apenas lembre-se de conectar a ESP32-CAM de acordo com seu interesse.

Diagrama de conexão (Conversor USB)

É possível ainda utilizar a placa Arduino para comunicar o ESP32-CAM serialmente com o computador usando o protocolo de comunicação UART, por meio das seguintes conexões:

  1. 5V a 5V na placa (ou 3,3V a 3,3V).
  2. GND para GND.
  3. Cabo laranja TXD para UOT na placa.
  4. RXD cabo amarelo para UOR na placa.
  5. Um jumper entre GPIO0 e GND (antes de carregar o código).

Para conectar um Arduino Nano, você pode seguir as mesmas instruções do Arduino Uno. Se você quiser usar outra placa Arduino que já possui, basta se certificar de que está usando os pinos adequados de acordo com o esquema apresentado.

Diagrama de conexão (Arduino Uno)

Conexão dos pinos (ESP32 ➞ ARDUINO)

  1. GND ➞ GND;
  2. 5V ➞ 5V;
  3. UOT ➞ TX0;
  4. UOR➞ RXD;
  5. Um jumper entre GPIO 0 e GND (antes de carregar o código).
  6. Um jumper entre RESET e GND (Arduino);

Configurando o ESP32 na IDE do Arduino

Passo 1: Instalação do Arduino

O primeiro passo para começar a usar o STM32 com o ambiente de programação do Arduino é instalar o programa no computador. Caso já tenha a IDE do Arduino Instalada, pule para o próximo tópico.

  1. Vá até o site oficial de download da IDE do Arduino clicando aqui;
  2. Escolha o seu sistema operacional como mostrado na imagem abaixo e clique para efetuar o download;
  1. Clique em “Just Download” ;
  2. Após o arquivo ter baixado para o seu computador, efetue a instalação do programa. Caso tenha dificuldades, veja o vídeo abaixo.

Passo 2: Configurando o ESP32 na IDE do Arduino

Abra a IDE do Arduino, entre em Arquivos e vá até a opção Preferências:

Janela da ferramenta Arquivo

Clique no ícone a direita de URLs Adicionais para Gerenciadores de Placas:

Janela de Preferências

Adicione a seguinte URL e clique em OK:

https://dl.espressif.com/dl/package_esp32_index.json

 

Janela de adição de URLs

Em seguida, vá em Ferramentas ➞ Placa➞ Gerenciador de Placas:

Janela de Ferramentas

Na barra de pesquisa coloque ESP32, quando surgir  esp32 de Espressif System. clique em Instalar e aguarde o download.

Janela do Gerenciador de Placas

Agora você pode ver o ESP32-CAM na lista de placas. Selecione “AI Thinker ESP32-CAM”.

Janela de escolha da placa ESP32-CAM

Agora vá para Ferramentas > Porta e selecione a porta COM à qual o ESP32-CAM está conectado.

Nesse momento o ambiente da IDE está pronto para ser utilizado. Para testar o seu funcionamento, podemos utilizar um programa simples. O código abaixo é um código básico que o ajudará a piscar o LED no CAM.

Copie o código, carregue ele no ESP32 e veja o LED piscar em intervalos de 2 segundo. 

				
					// ledPin refers to ESP32-CAM GPIO 4 (flashlight)
const int ledPin = 4;
void setup() 
{
  // initialize digital pin ledPin as an output
  pinMode(ledPin, OUTPUT);
}
 
void loop() 
{
  digitalWrite(ledPin, HIGH);
  delay(2000);
  digitalWrite(ledPin, LOW);
  delay(2000);
}
				
			

dsdffs