ESP32 Tutorial com Primeiros Passos

Soluções IoT – Internet of Things – têm sido desenvolvidas há muito tempo utilizando diversos tipos de módulos, muitas vezes com um sistema WiFi externo a placa de controle. Hoje apresentaremos um Tutorial ESP32 cuja principal característica é o seu poder de comunicação wireless, WiFi ou Bluetooth, já integrado à placa. Ela pode ser utilizada em diversos projetos robóticos e, principalmente, em projetos IoT. Vamos conhecê-la um pouco melhor? Primeiramente, verifique o diagrama de portas na figura abaixo.

  • Portas GPIO

GPIO, acrônimo de General Purpose Input/Output, são pinos responsáveis pela entrada e saída de sinais digitais. Elas são capazes, individualmente, de fornecer um máximo de 12 mA de corrente.

  • Portas Touch

Esses pinos funcionam como sensores capacitivos, ou seja, reagem quando há uma alteração em seu estado. Um simples exemplo é tocá-lo: isso iniciará um processo de troca de calor entre dois corpos distintos, onde o sensor perceberá e emitirá sinais para a ESP. Essa placa possui 10 pinos touch.

  • ADC

Os ADC (Analog Digital Converter), são famosos na área da eletrônica. Eles convertem grandezas analógicas (velocímetro de ponteiro do carro, por exemplo) em grandezas digitais (um velocímetro digital, por exemplo). Segundo o diagrama do ESP, ele possui 16 pinos com essa capacidade.

  • Demais pinos

O NodeMCU ESP32 conta com 3 portas GND, 1 porta de 3.3V e 1 porta de 5V (que no diagrama está identificada por Vin, visto que pode ser usada para alimentação da placa caso ela não esteja conectada pelo cabo USB). Há também outros pinos, como o RX e TX, CLK, MISO e outros, que serão explorados em outros artigos aqui no Blog. Note que alguns deles acumulam diversas funções em um pino só. Fique ligado!

 

Configurando a IDE do Arduino

Agora que já sabemos um pouco mais da ESP32, vamos iniciar a trabalhar com ela. Primeiramente, iremos configurar o ambiente de desenvolvimento do Arduino. Em seguida, faremos um teste para verificar se a configuração foi feita com sucesso. Na sequência, montaremos um pequeno projeto cujo objetivo será acender uma LED toda vez que o sensor capacitivo dela sofrer alguma alteração de estado. Inicialmente, então, siga os passos a seguir:

  1. Acesse https://github.com/espressif/arduino-esp32 e clique em “Clone or Download” e, em seguida, “download zip”.
  2. Um arquivo será salvo no seu diretório de Downloads. Abra esse diretório e procure o arquivo baixado, que terá o nome “arduino-esp32-master”. Descompacte-o. Abra ele e copie o seu conteúdo (que contém diversas pastas e arquivos).
  3. Em seguida, abra a pasta dos seus Documentos e, na sequência, a do Arduino. Caso você não tenha dentro desse a pasta “hardware” criada, crie-a agora. Abra ela e crie outra pasta, denominada “espressif” e, sem seguida, outra pasta denominada “esp32” dentro dessa. No final, o caminho para esse diretório ficará assim: “C:\Users\[nome do usuário]\Documentos\Arduino\hardware\espressif\esp32”.
  4. Dentro dessa pasta, “esp32”, cole o conteúdo que antes fora copiado.

Nesse processo, você adicionou manualmente as configurações das placas ESP32 na IDE do Arduino, para que seja possível o envio dos códigos a elas.

 

Testando a configuração

Para testar, vamos executar o famoso “Blink”. Na IDE de Arduino, clique em Arquivo > Exemplos > 01.Basics > Blink. Feito isso, adicione a linha a seguir, antes do void setup():

Com isso, especificaremos que, nessa placa, a LED integrada está conectada ao GPIO 2). Agora, vamos selecionar a placa. Clique em Ferramentas e, em seguida, em Placa. Selecione a placa ESP32 Dev Module, como ilustrado na figura abaixo.

O próximo passo é selecionar a porta, que irá depender do seu computador. No caso do exemplo, é a porta “COM 13”, mas para você pode ser diferente. Caso você não saiba, desconecte a ESP32 NodeMCU, conecte-a novamente e verifique qual porta irá surgir. A porta que aparecer será a porta que você deve selecionar. Em seguida, selecione a velocidade de transmissão de dados. Nesse exemplo utilizamos 115200.

Agora vamos fazer o upload do código. Muita atenção nessa etapa! Assim que o código for verificado e, não havendo erros no código, ele começará a ser enviado para a placa. Irão aparecer as seguintes mensagens no log da IDE:

Assim que a última linha aparecer (“Connecting…”), mantenha pressionado o botão “Io0” na placa. Só então o código começará a ser escrito na placa, conforme ilustrado na figura abaixo:

Aguarde o término do processo de upload para então soltar o botão. Com ele carregado, devemos agora resetar o módulo para que o código seja executado. Isso pode ser feito de duas maneiras:

  1. Desconectando o cabo da ESP e conectando novamente.
  2. Conectando um jumper em uma das portas GND da placa e na porta EN e, em seguida, desconectar-lo. Isso forçará um reinício na placa.

Com isso, finalizamos o teste da placa. A LED integrada irá alternar seu estado a cada 1 segundo.

 

Primeiro projeto com o NodeMCU ESP32

Agora, montaremos um pequeno circuito na protoboard para ilustrar o funcionamento do Touch sensor. Usaremos também uma LED com um resistor. Para prosseguirmos, monte o circuito abaixo.

O fio amarelo que está conectado no GPIO4 (Touch 0), no circuito acima, é um jumper que será usado como sensor capacitivo. A LED está conectada na GPIO 23 através de um resistor de 270 ohms. Vamos agora ao código. Não se esqueça que, quando estiver fazendo o upload do código, você deve pressionar o botão “Io0” para que o código seja escrito na placa.

Perceba que, para utilizarmos o sensor touch, é utilizada a função touchRead(), cujo argumento é a identificação do sensor, e não da GPIO. Portanto, na hora de fazer leituras nesse sensor, confira o número do touch sensor correspondente a GPIO que você irá utilizar, conforme mostrado no mapa de pinos no início desse artigo. A função utilizada retorna valores de variam entre zero até aproximadamente 100. No gif, podemos verificar o funcionamento do código, acendendo a LED toda vez que o touch sensor é tocado. As vezes o fio pode apresentar um mau contato na protoboard, gerando leituras instáveis pelo sensor. Nesse caso, basta tocar o sensor direto no pino soldado, conforme a gif abaixo.

Conclusão

De maneira breve, demos os primeiros passos nesse tutorial com o ESP32 NodeMCU. Configuramos o ambiente de programação do Arduino, o testamos e fizemos nosso primeiro projeto. Em breve, novos tutoriais utilizado essa incrível placa serão publicados aqui no blog. Fique atento!

Categorias
ESP32

Bacharel em Ciência da Computação pela URI – Campus de Santo Ângelo, com experiência no desenvolvimento de pesquisas em Robótica e prototipação de Sistemas Robóticos.
7 Número de Comentários
  • Edmundo Gualberto Jr.
    31 janeiro 2020 at 11:34
    Deixe seu Comentário

    Olá amigo

    Segui todos os passos e aparentemente ocorreu tudo bem até a seleção da placa e do com……

    Quando tento compilar o programa da um erro de acesso ao módulo do esp32 (aquele que selecionei a placa).

    Alguma orientação sobre oo que possa ser ?

    Obrigado

    • Matheus Gebert Straub
      13 fevereiro 2020 at 17:27
      Deixe seu Comentário

      Boa Tarde Edmundo! Normalmente este erro ocorre devido a falta de autorização para iniciação do upload, verifique se o seguinte passo está sendo seguido:
      “Assim que a última linha aparecer (“Connecting…”), mantenha pressionado o botão “Io0″ na placa. Só então o código começará a ser escrito na placa.”

  • raphael
    4 janeiro 2021 at 10:15
    Deixe seu Comentário

    Bom Dia, queria saber se você tem algum projeto para monitoramento de energia elétrica…

  • John
    22 junho 2021 at 10:44
    Deixe seu Comentário

    Bem legal, seguimos acompanhando.

  • Lauro Becker
    13 setembro 2021 at 09:04
    Deixe seu Comentário

    Excelente tutorial.
    Mas precisa de atualizações. AS novas versões do ESP32, por exemplo, já dão um REBOOT automático após carregar o sketch, não sendo mais necessário desligar ou desconectar o ESP32.

    Outra coisa que faltou no tutorial, e que causa erro, foi a de mandar executar o GET.EXE como Administrador e estando conectado à internet.
    Mas o tutorial é muito bom. Parabéns.

  • Rafael Fricks
    22 janeiro 2022 at 00:47
    Deixe seu Comentário

    Comigo aqui deu um erro:
    xtensa-esp32-elf/bin/xtensa-esp32-elf-g++”: file does not exist

    SOLUÇÂO:
    Vi um video, e parece que na pasta “tools” em “esp32” vc abre o get.exe, daí ele fará uns download. Depois abre a IDE e aí sim tudo ok.

    video> https://www.youtube.com/watch?v=QBjiuOcJics

  • Deixe seu Comentário

    *

    *

    Sobre nós

    Hoje a Usinainfo é um dos maiores ecommerces de Ferramentas, Peças para Eletrônica, Componentes Eletrônicos, Sensores e Arduino do Brasil, contando com uma grande diversidade de produtos na linha de eletrônica.

    Sugestões

    Artigos Relacionados