CodificaLab

Fazendo Funcionar

ESP32 configurando o ambiente

Published by

on

No post passado vimos as especificações do ESP32, neste post, abordaremos como realizar a preparação do ambiente para trabalhar com o ESP32.

O ESP32 pode ser programado por diferentes linguagens e diferentes ambientes de desenvolvimento, como por exemplo: Linguagem C/C++ pela IDE do Arduino, Espressif Framework, LUA, Micropython entre outros.

Neste artigo, abordaremos como configurar o ambiente de programação usando a IDE do Arduino, programando o ESP32 utilizando a linguagem C/C++.

Instalação

A instalação do Arduino IDE é bem rápida e simples, para fazer o download da IDE, basta acessar o link ARDUINO SOFTWARE e selecionar a versão do Arduino IDE e baixar.

No exemplo irei baixar a versão mais recente que tem atualmente, no dia 07/04/2024, versão 2.3.2

Após o download, execute o arquivo baixado e siga com as instruções e em poucos passos já estará instalada a IDE.

A primeira imagem que terá da IDE será uma sketch criada sem nenhuma instrução contida, apenas com a estrutura do código.

Configuração

Nesta etapa, iremos preparar a IDE para podermos programar o ESP32 no ambiente Arduino. Após a IDE ter inicializado, vá na opção do menu superior “File”, e em seguida, “Preferences”. (Esta opção também pode ser acessada pelo atalho do teclado Ctrl + ,)

Na tela de preferências podemos encontrar algumas configurações da IDE, como o idioma utilizado (podendo alterar para Português Brasileiro), tema de cores da IDE, escala do texto entre outras configurações. A opção importante para conseguir configurar a IDE para o ESP32 é a opção de “URL’s do Gerenciador de Placas Adicionais”, que em inglês vai estar escrito “Additional boards manager URLs”. Nesta opção iremos inserir o link que nos possibilitará baixar a biblioteca e o pacote da placa ESP32 dentro da IDE. O link a ser inserido é:  https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Após todas as configurações na tela de preferências terem sido realizadas, pressione o botão “OK” para salvar e aplicar as alterações . Agora vamos instalar o pacote da placa ESP32 indo na opção do menu superior “Ferramentas” > “Placa” > “Gerenciador de Placas” (Ou simplesmente clicando nas teclas de Atalho Ctrl + Shift + B)

Nesta opção iremos nos deparar com a ferramenta do gerenciador de placas da IDE Arduino, nela baixamos os pacotes das placas que trabalharemos. Nessa tela, pesquise por “ESP32” e instale “ESP32 por Espressif’’.

Após clicar para instalar, a IDE começará a baixar os pacotes para poder trabalhar com o ESP32, o que pode levar alguns instantes. Após a instalação vá na opção do menu superior “Ferramentas” > “Placa” e insira o modelo da placa ESP32 que você esteja usando. Nessa série de posts sobre Programação e ESP32, estamos utilizando a placa Doit ESP32 Devkit V1.

Pronto, após estes passos, seu ambiente está pronto para começar a trabalhar com o ESP32. 😁👍

Programando pela primeira vez no ESP32

Graças a IDE Arduino, podemos usar sua interface para programar o ESP32 com a linguagem C, o que facilita muito pois a linguagem C é amplamente usada em diversas áreas de desenvolvimento, incluindo a automação.

A seguir, vamos ver como executar o primeiro programa no seu ESP32.

O primeiro passo a se fazer é conectar o ESP32 via cabo USB no seu computador.

Após conectar o ESP32, deve-se localizar em qual porta COM o Windows definiu o ESP. Para reconhecer de forma simples, pode-se abrir o Gerenciador de Dispositivos do Windows e verificar no campo Portas qual é a porta COM alocada pelo Windows para o seu ESP32.

No meu caso, o Windows definiu que o ESP32 está conectado à porta COM3. Com isso em mente, devemos configurar este parâmetro na IDE do Arduino.

Quando se inicia um novo projeto (esboço ou sketch) no Arduino, ele vai inicializar com duas funções previamente definidas sem nada inserido nelas.

As funções são: “Setup” e “Loop”.

Na função Setup é a parte do código onde usamos para inicializar variáveis, fixar modos de operação do microcontrolador usado, definir certos parâmetros que serão usados no resto do código. Esta função é executada apenas uma vez durante a inicialização do microcontrolador.

A função Loop será onde o código vai ser mais trabalhado. Nesta função você deve inserir suas instruções de execuções, leituras, comandos e etc… Nesta função, os comandos inseridos serão executados repetidamente (como o nome da função faz entender), seguindo todas as instruções contidas nela. Tendo em vista todas estas observações, vamos criar, compilar e enviar um código de exemplo para executar no ESP32.

Abaixo está o Código usado no exemplo:

Link para download do código

/* 
* Código por: Codificalab 
* Autores: Gustavo Wong, Marcos Santana
*
*   Primeiro programa de teste com o ESP32
* Neste programa será realizado a confecção de um pequeno
* circuito que integra o ESP32 junto a um botão. O intuito
* deste exemplo é apenas demonstrar o funcionamento básico
* da IDE Arduino e a programação no ESP32.
*/

#define btn_1 23    // Definindo no código uma variável de valor fixo, correspondente ao pino do ESP32 que será utilizado para fazer a leitura do botão.
bool pressionado;   // Esta variável guardará o status de acionamento do botão.
int vezes=0;        // Esta variável armazenará o número de vezes que o botão foi pressionado.


void setup() {

  Serial.begin(115200);   // Aqui definimos a velocidade da comunicação serial entre o ESP e o computador
  pinMode(btn_1, INPUT);  // Neste parâmetro definimos qual pino do ESP será utilizado e que tipo de função ele terá (Input ou Output).

}

void loop() {

  pressionado=digitalRead(btn_1);       // Nesse comando, estamos informando que o ESP deverá realizar uma leitura sobre a pinagem definida como uma entrada.
  if(pressionado!=0){                   // Caso o ESP realize a leitura de entrada no botão, ou seja, caso pressione o botão no circuito, entraremoss nesta condição para seguir uma sequência de instruções.
    vezes++;                            // Estamos somando +1 na variável para armazenar o número de vezes que o botão foi acionado.
    Serial.print("Vezes pressionado: ");// Vamos exibir uma mensagem para informar o evento
    Serial.println(vezes);              // Exibindo o número de vezes pressionado
    delay(350);                         // Uma pequena pausa no ESP para executar a leitura do botão
  }

}

O código está totalmente comentado para maior entendimento de todos sobre os comandos contidos no código. Sinta-se à vontade para realizar alterações e testar novas funções.

O circuito utilizado para o teste com o botão segue abaixo:

Com o código em mãos, circuito montado e o ESP32 devidamente conectado ao computador, hora de compilar o código e gravá-lo no ESP. Para isso, vamos definir nos parâmetros a porta COM em que o ESP32 se encontra (como observado anteriormente, encontra-se na COM3 neste exemplo). Para definir a placa utilizada e a porta COM que se encontra o ESP32, vá na opção dos menus superiores “Ferramenta”, em seguida na opção “Porta”, e selecione a porta do seu dispositivo.

Lembre-se de definir a placa correta que está utilizando no parâmetro “Placa”. Com todas as definições estabelecidas corretamente, basta apertar no botão “Carregar” (Na forma de uma seta para a esquerda) e aguardar o ESP receber o código.

Após o envio, o ESP32 estará executando o seu código, e basta testar para ver funcionar.

Com este post, observamos como configurar o ambiente, entendemos a estrutura do código, como funciona a IDE e como gravar os programas no ESP32. Espero que tenham gostado do conteúdo e que tenha sido de fácil entendimento. Nos próximos posts nos aprofundaremos sobre sensores e outras aplicações com o ESP32. Caso tenham ficado com alguma dúvida, algo não esteja dando certo ou possuam uma sugestão, fiquem à vontade para usar a caixa de comentários!

Deixe um comentário