Programação da placa ESP32 com Arduino IDE
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.
Conteudo
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ção | Valor |
Número de núcleos | 2 |
Arquitetura | 32 bit |
Frequência da CPU | |
Wi-Fi | YES |
Bluetooth | YES |
RAM | 512 KB |
FLASH | 16 MB |
GPIO Pins | 36 |
Protocolos de Comunicação | SPI, IIC, I2S, UART, CAN |
ADC channels | 18 channels |
ADC Resolution | 12-bit |
DAC channels | 2 |
DAC Resolution | 8-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); }