Programação da placa ESP32 com Arduino IDE

Tempo de leitura: 7 minutes

A Internet atingiu quase todos os bolsos por meio de smartphones, estima-se que cerca de 3,2 bilhões de pessoas usam a Internet, mas surpreendentemente cerca de 8,4 bilhões de dispositivos usam a Internet. Ou seja, os aparelhos eletrônicos estão conectados à internet mais do que o dobro da população que usa a internet e isso está tornando as coisas ao nosso redor mais inteligentes a cada dia. O principal motivo é o boom da Internet das coisas que é comumente conhecido como IOT, também estima-se que até o final de 2020 teremos 20,4 bilhões de dispositivos conectados à internet. Então é hora de nos prepararmos e arregaçar as mangas para trabalhar com projetos IOT se quisermos acompanhar esse desenvolvimento. Para nossa sorte, as plataformas de código aberto como Arduino e Espressif Systems tornaram as coisas muito mais fáceis para nós.

A Espressif Systems lançou o ESP8266-01 há muito tempo que abriu portas para muitos amadores entrarem no mundo da IOT, desde então a comunidade tem se desenvolvido fortemente e muitos produtos chegaram ao mercado. Agora, o lançamento do ESP32 Espressif elevou as coisas a um novo nível. Este minúsculo e barato módulo de 8$ é um CPU dual core de 32 bits com Wi-Fi integrado e Bluetooth de modo duplo com quantidade suficiente de 30 pinos de E/S para todos os projetos eletrônicos básicos. Todos esses recursos são muito fáceis de usar, já que podem ser programados diretamente do IDE do Arduino. Saindo o suficiente … Vamos começar a programar ESP32 com Arduino IDE e então você pode tentar todos os projetos interessantes baseados em IoT usando ESP32.

 

Materiais requisitados:

  • Módulo ESP32
  • IDE Arduino
  • Cabo de programação (cabo micro USB)

 

Informações de hardware do ESP32:

Vamos dar uma olhada no módulo ESP32. É um pouco maior que o módulo ESP8266-01 e é amigável para protoboard, já que a maioria dos cabeçotes de pinos são quebrados como pinos de E/S voltados um para o outro, o que é ótimo. Vamos quebrar a placa em pequenas partes para saber a finalidade de cada segmento

Como você pode ver, o coração do módulo é o ESP-WROOM-32, que é um microprocessador de 32 bits. Ele também possui alguns botões e LEDs que são explicados a seguir.

Conector micro USB: o conector micro USB é usado para conectar o ESP32 ao nosso computador por meio de um cabo USB. É usado para programar o módulo ESP, bem como pode ser usado para depuração serial, pois suporta comunicação serial

Botão EN: O botão EN é o botão de reinicialização do módulo ESP. Pressionar este botão irá redefinir o código em execução no módulo ESP

Botão Boot: este botão é usado para fazer upload do programa do Arduino para o módulo ESP. Ele deve ser pressionado após clicar no ícone de upload no IDE do Arduino. Quando o botão Boot é pressionado junto com o botão EN, o ESP entra no modo de upload de firmware. Não brinque com este modo a menos que saiba o que está fazendo.

LED vermelho: O LED vermelho na placa é usado para indicar a fonte de alimentação. Ele brilha em vermelho quando a placa está ligada.

LED azul: O LED azul na placa está conectado ao pino GPIO. Pode ser ligado ou desligado por meio de programação. Em algumas placas chinesas clonadas como a minha, esse led também pode estar na cor vermelha.

Pinos de E/S: é onde ocorreu o maior desenvolvimento. Ao contrário do ESP8266, no ESP32 podemos acessar todos os pinos de E/S do módulo por meio dos pinos de break-out. Esses pinos são capazes de leitura/gravação digital, leitura/gravação analógica, PWM, IIC, SPI, DAC e muito mais. Veremos mais sobre isso mais tarde. Mas se você estiver interessado, pode aprender por meio da descrição do pino em ESP32 Datasheet.

ESP-WROOM-32: este é o coração do módulo ESP32. É um microprocessador de 32 bits desenvolvido pela Espressif systems. Se você for mais técnico, pode ler o Datasheet ESP-WROOM-32. Eu também listei alguns parâmetros importantes abaixo.

ESP32
EspecificaçãoValor
Número de núcleos2
Arquitetura32 bit
Frequência da CPU
Wi-FiYES
BluetoothYES
RAM512 KB
FLASH16 MB
GPIO Pins36
Protocolos de ComunicaçãoSPI, IIC, I2S, UART, CAN
ADC channels18 channels
ADC Resolution12-bit
DAC channels2
DAC Resolution8-bit

Por enquanto, essas são todas as informações que precisamos saber sobre o hardware. Abordaremos mais a fundo à medida que avançamos com diferentes projetos usando o ESP32.

 

Removendo a versão antiga da placa ESP32

Esta etapa pode ser ignorada por usuários que estão usando ESP32 com Arduino pela primeira vez. Para outras pessoas que já instalaram a placa ESP32 no Arduino usando GIT, é necessário excluir a pasta Espriff do diretório do Arduino.

Os usuários do Windows podem encontrar esta pasta em Documentos/Arduino/Hardware ou em ingles (Documents/Arduino/hardware), apenas encontre a pasta e exclua-a permanentemente antes de prosseguir com as outras etapas.

Preparando seu IDE Arduino

PASSO 1: agora, vamos começar. A primeira etapa seria baixar e instalar o IDE do Arduino. Isso pode ser feito facilmente acessando o link https://www.arduino.cc/en/Main/Software e baixando o IDE gratuitamente. Se você já tiver um, certifique-se de que ele seja da versão mais recente.

PASSO 2: Uma vez instalado, abra o IDE Arduino e vá para Arquivos -> Preferências para abrir a janela de preferências e localize os “URLs adicionais do gerenciador de placas:” conforme mostrado abaixo

PASSO 3: esta caixa de texto pode estar vazia ou também pode conter algum outro URL, se você o tiver usado anteriormente para ESP8266. Se estiver vazio, simplesmente cole o URL abaixo na caixa de texto

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

Se a caixa de texto já contém algum outro URL, basta adicionar este URL a ela, separe os dois com uma vírgula (,). O meu já tinha o URL ESP8266, acabei de adicionar este URL e adicionei uma vírgula, como esta

https://dl.espressif.com/dl/package_esp32_index.json, 
http://arduino.esp8266.com/stable/package_esp8266com_index.json

Uma vez feito isso, minhas janelas de preferências ficaram assim abaixo. Basta clicar em OK e a janela desaparecerá.

PASSO 4: Agora vá para Ferramentas -> Quadros -> Gerenciadores de Quadro para abrir a janela do gerenciador de Quadro e procure ESP32. Se a URL foi colada corretamente sua janela deve encontrar a tela abaixo com o botão Instalar, basta clicar no botão Instalar e sua placa deve ser instalada. (No meu caso, pode ver que já estava instalada.)

É isso agora que nosso IDE Arduino está preparado para funcionar com ESP32. Vamos ver se está funcionando.

 

Programando ESP32 com Arduino IDE:

PASSO 1: Conecte sua placa ESP32 ao computador por meio do cabo micro-USB. Certifique-se de que o LED vermelho fique alto no módulo para garantir o fornecimento de energia.

PASSO 2: Inicie o IDE Arduino e navegue até Ferramentas -> Placas e selecione a placa ESP32Dev como mostrado abaixo

PASSO 3: Abra o gerenciador de dispositivos e verifique a qual porta de comunicação seu ESP32 está conectado. O meu está conectado ao COM 8 conforme mostrado abaixo

PASSO 4: Volte para o IDE do Arduino e em Ferramentas -> Porta selecione a porta à qual seu ESP está conectado. Uma vez selecionado, você deverá ver algo assim no canto esquerdo inferior do IDE.

 

PASSO 5: vamos fazer o upload do Programa Blink, para verificar se somos capazes de programar nosso módulo ESP32. Este programa deve piscar o LED em um intervalo de 1 segundo.

int LED_BUILTIN = 2;
void setup() {
    pinMode (LED_BUILTIN, OUTPUT);
}
void loop() {
    digitalWrite(LED_BUILTIN, HIGH);
    delay(1000);
    digitalWrite(LED_BUILTIN, LOW);
    delay(1000);
}

O programa é muito semelhante ao código blink do Arduino, portanto, não os explicarei em detalhes. Mas uma mudança é que, aqui no ESP32, o LED a bordo é conectado ao pino número 2, enquanto para o Arduino ele será conectado ao pino número 13.

PASSO 6: Para fazer o upload do código, basta clicar em upload e você deverá ver o console do Arduino exibindo o seguinte se tudo funcionar conforme o esperado.

Nota: Para alguns módulos, pode ser necessário segurar o botão Boot durante o upload para evitar erros.

É isso que carregamos com sucesso o primeiro código para nossa placa ESP32. Meu módulo com seu LED piscando é mostrado abaixo

É assim que a Programação ESP32 usando o Arduino IDE pode ser implementada. Você pode ir em frente e tentar os outros programas de exemplo que estão disponíveis em Arquivo -> Exemplo -> ESP32 para trabalhar com outras funcionalidades do ESP32. Se você teve qualquer problema em obter este trabalho, sinta-se à vontade para postar a consulta nas seções de comentários abaixo. Você também pode usar o Fórum para obter ajuda técnica.

 

Código

int LED_BUILTIN = 2;
void setup() {
  pinMode (LED_BUILTIN, OUTPUT);
}
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(1000);
  digitalWrite(LED_BUILTIN, LOW);
  delay(1000);
}