CodificaLab

Fazendo Funcionar

ESP32: Entendendo a plataforma

Published by

on

ESP32 é uma plataforma baseada em um microcontrolador desenvolvido pela Espressif Inc, uma multinacional que tem foco no desenvolvimento de soluções de comunicação sem fio.

Suas aplicações são vastas, e seu hardware permite sua inclusão em diferentes projetos graças a sua conectividade, permitindo trabalhar com protocolos de comunicação sem fio como bluetooth e Wi-Fi.

Atualmente vivemos em uma época onde tudo está conectado a rede, e a adesão destes dispositivos podem fazer a diferença, permitindo monitorar dados de leitura de um sensor a longas distância pela internet por exemplo.

Além da alta versatilidade proporcionada pela conectividade do ESP, ele ainda se destaca por ser um microcontrolador rápido, com dois núcleos operando até 240MHz (podendo variar de acordo com a versão e modo de operação do ESP32) e pelo seu baixo consumo. Todo esse conjunto ainda somado com seu baixo custo, tornam o ESP32 um prato cheio para implementações que exijam conexão com a internet ou projetos que não possuam um grande orçamento.

O modelo do ESP utilizado para a realização dos testes e para escrever este artigo é o DOIT ESP32 Devkit V1.

Abaixo algumas especificações técnicas do modelo:

  • Microcontrolador: Tensilica 32-bit Dual-core CPU Xtensa LX6
  • Tensão de operação: 3.3V
  • Tensão de entrada: 7-12V
  • Pinos digitais de I/O (DIO): 25
  • Pinos Analógicos de entrada (ADC): 6
  • Pinos analógicos de saída (DAC): 2
  • UARTs: 3
  • SPIs: 2
  • I2Cs: 3
  • Memória Flash: 4 MB
  • SRAM: 520 KB
  • Clock: 240 Mhz
  • WiFi: IEEE 802.11 b/g/n/e/i (Até 150Mb/s)
  • Bluetooth: 4.2, BLE

A alimentação deste modelo se dá através da porta USB no padrão do conector Micro B, essa porta USB também é utilizada para a comunicação serial e gravação do firmware no dispositivo. Este modelo do ESP32 utilizado acompanha o chip CP2102 para se comunicar com o computador via interface Serial (Caso tenha problemas em estabelecer comunicação via serial com o computador, verifique se o driver do chip está devidamente instalado em seu sistema operacional). O ESP32 também pode ser alimentado através de seu pino “VIN”.

A placa ainda acompanha embarcada a antena para amplificar o sinal WiFi, dois botões (o EN e o Boot) e dois leds. O botão EN tem como função reiniciar a operação da placa, enquanto o botão Boot tem a função de acionar o modo de flash da placa, para recepção do firmware compilado (Será mais esclarecido adiante). Os dois leds servem para reconhecimento de status de operação da placa, são eles: Um vermelho e um Azul. O led azul apenas acenderá se for programado para tal, sua pinagem de identificação é a GPIO2.

Pinnout do DOIT ESP32 Devkit V1

Pinos de Entrada e Saída de Uso Geral – GPIOS (General Purpose Input Output Pins)

Este modelo do ESP32 possui 25 GPIO, qual podem ser configurados para diferentes funções, como por exemplo: DAC, ADC, Toque capacitivo, e etc…

Pinos de entrada

Os pinos GPIO34, GPIO35, GPIO36 e o GPIO39 não podem ser configurados para gerar uma saída, são pinos que tem apenas como propósito receber sinais analógicos ou digitais.

PINOS ADC

O ESP32 possui integrado módulo Conversor Analógico/Digital de 12-bit SAR ADC, e suporta a leitura em 15 canais.

Pinos DAC

O ESP32 tem dois canais DAC (conversor digital para analógico) de 8 bits, respectivamente, conectados ao GPIO25 (Canal 1) e GPIO26 (Canal 2).

Pinos Touch

ESP32 possui 9 pinos capacitivos com sensor do toque. Pinos esse que podem alternar seu sinal com o toque do dedo humano por exemplo. Na imagem acima informa quais são os pinos compatíveis.

Pinos I2C

O ESP32 tem duas interfaces de barramento I2C, mas nenhum pino I2C dedicado. Em vez disso, ele permite a atribuição flexível de pinos, o que significa que qualquer pino GPIO pode ser configurado como I2C SDA (linha de dados) e SCL (linha de clock).

I2C ou I²C significa Inter-Integrated Circuit (Circuito Inter-Integrado) e pode ser pronunciado como “I dois C”. Ele foi criado pela Philips, tendo como vantagem a simplicidade e o baixo custo, e, como desvantagem, a velocidade.

Canais de comunicação: 

  • Canal de dados seriais, chamado de serial data (SDA);
  • Canal de sincronização, chamado serial clock (SCL). Simplificadamente, o Clock é um sinal que oscila entre nível alto e baixo rapidamente. Então, essa oscilação é utilizada para sincronizar os dispositivos

Pinos PWN

A placa do ESP32 possui 21 canais PWM controlados pelo controlador PWM (Todos os GPIO possuem a capacidade de gerar pulsos, exceto pelos GPIOS que são somente de entrada)

Pinos de alimentação

O ESP32 acompanha consigo 2 pinos de alimentação: O VIN (Fonte de entrada de alimentação do ESP32 caso não queira utilizar a entrada Micro USB) e o 3.3v. O pino de 3.3V é um pino de saída do regulador de tensão integrado, podendo obter até 600mA dele. Possui também 2 pinos GND (Terra) para se utilizar nos circuitos projetados.

——————————————————————————

Estes recursos são um breve resumo do que pode-se encontrar em uma placa de desenvolvimento contendo o microcontrolador ESP32 integrado. Todos os seus recursos o tornam um dispositivo capaz para múltiplos projetos envolvendo análise de dados, cloud, webserver e etc…

Este é apenas o pontapé inicial para entender os futuros projetos que apareceram aqui, no próximo capítulo iremos abordar como configurar o ESP32 no computador e entender como executar os códigos nele.

Nesta série de posts do ESP32, iremos abordar diferentes projetos com o utilizando este microcontrolador junto a diferentes sensores. No final da série, iremos demonstrar o funcionamento de um protótipo criado pelos membros da CodificaLab com o intuito de facilitar a aprendizagem sobre o mundo dos sistemas embarcados. Assine nosso blog e fique ligado para as próximas postagens!

Referências utilizadas

Uma resposta para “ESP32: Entendendo a plataforma”.

  1. Avatar de Luiz Reina
    Luiz Reina

    Descrição sucinta e muito útil ! Parabéns !

    Curtido por 1 pessoa

Deixar mensagem para Luiz Reina Cancelar resposta