Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

ESP32 Pinout: Detalhes e Conexões

esp32pinout

Neste artigo você conhecerá profundamente a ESP32, analisando toda a pinagem da placa ESP32 (ESP32 Pinout), detalhes de funcionamento e conexões possíveis para a internet das coisas.

Vamos responder as dúvidas sobre como usar os GPIOs do ESP32. Quais pinos devem ser utilizados? Quais pinos devem ser evitados em seus projetos? Este artigo tem como objetivo ser um guia de referência fácil e simples de seguir para os GPIOs do ESP32.

Observação:

Observe que este guia de pinagem foi baseado na conhecida placa de desenvolvimento ESP32 devkit v1, que possui 30 pinos.

Nem todas as placas de desenvolvimento ESP32 expõem todos os pinos, mas cada pino funciona exatamente da mesma forma, independentemente da placa de desenvolvimento que você estiver utilizando.

esp32

O que é ESP32?

É importante destacar que a ESP32 é um módulo microcontrolador (MCU) equipado com Wi-Fi, Bluetooth e Bluetooth Low Energy (BLE).

Essa fantástica placa oferece um amplo leque de aplicações, desde redes de sensores de baixa potência até tarefas mais exigentes, como codificação de voz, streaming de música e decodificação de MP3.

No núcleo do módulo, encontramos o chip ESP32-D0WDQ6, projetado para escalabilidade e adaptabilidade. Com dois núcleos de CPU cuja frequência de clock pode ser ajustada de 80MHz a 240MHz, cada CPU pode ser controlada de forma independente.

A ESP32 é dotada de uma variedade de periféricos, incluindo sensor de toque capacitivo, sensor de Efeito Hall, interface de cartão SD, Ethernet, SPI de alta velocidade, UART, I2S e I2C.

ESP32 Pinout – Entradas/Saídas e Periféricos

Embora o ESP32 tenha um total de 48 pinos GPIO, apenas 25 deles estão disponíveis nos conectores localizados em ambos os lados da placa de desenvolvimento. Esses pinos podem ser designados para diversas funções periféricas. Na tabela abaixo é informado as características dos pinos da ESP32:

15 pinos ADCConversor Analógico para Digital de 12 bits, com faixas selecionáveis de 0-1V, 0-1.4V, 0-2V ou 0-4V.
2 interfaces UARTControle de fluxo e suporte a IrDA (Infrared Data Association)
25 saídas PWMControlar coisas como a velocidade do motor ou a intensidade de LED
2 pinos DACDois DACs de 8 bits para gerar tensões analógicas reais.
Interfaces SPI, I2C e I2STrês interfaces SPI e uma interface I2C para conectar vários sensores e periféricos, além de duas interfaces I2S para adicionar som ao seu projeto.
9 pinos TouchDetecção de toque capacitivo

Como informação adicional, graças à funcionalidade de multiplexação de pinos do ESP32, que permite que vários periféricos compartilhem um único pino GPIO. Por exemplo, um único pino GPIO pode funcionar como entrada ADC, saída DAC ou sensor de toque.

ESP32 Pinout

A placa de desenvolvimento ESP32 é composta por um total de 30 pinos. Para facilitar a compreensão, os pinos com funções semelhantes são organizados em grupos. A disposição dos pinos é disponibilizada abaixo e na sequência, detalhamos cada função especificamente.

ESP32 Pinout – Pinos de entrada digital GPIO

A placa de desenvolvimento ESP32 possui 25 pinos GPIO, aos quais podem ser atribuídas diferentes funções.

Os GPIOs 34, 35, 36 e 39 funcionam apenas como entrada. Agora nem todos os pinos possuem pull-up de entrada integrado, exigindo a utilização de um pull-up externo. Os pinos que dispõem de pull-up interno são os GPIOs: 14, 16, 17, 18, 19, 21, 22 e 23, enquanto aqueles sem pull-up interno são os GPIOs: 13, 25, 26, 27, 32 e 33.

Veja o diagrama ilustrativo abaixo, representando os pinos GPIOs.

Quais pinos GPIOs são seguros para uso?

Apesar da ampla variedade de pinos com diversas funções disponíveis no ESP32, é importante notar que alguns podem não ser ideais para determinados projetos. A tabela a seguir apresenta quais pinos são recomendados para uso seguro e quais devem ser utilizados com cautela.

Verde (X): Principais pinos para utilizar

Amarelo (X): Preste muita atenção porque o comportamento deles, principalmente durante a inicialização, pode ser imprevisível. Use-os somente quando for absolutamente necessário

Vermelho (X): Não é recomendável utilizar estes pinos

RótuloGPIOSeguro para uso?Detalhes
D00Xdeve ser HIGH durante a inicialização e LOW para a programação
TX01XPino TX, usado para gravação e debugging
D22Xé LOW durante a inicialização e também é conectado ao LED interno
RX03Xpino RX, usado para gravação e debugging
D44X
D55Xé HIGH durante a inicialização
D66Xconectado à memória flash
D77Xconectado à memória flash
D88Xconectado à memória flash
D99Xconectado à memória flash
D1010Xconectado à memória flash
D1111Xconectado à memória flash
D1212Xé LOW durante a inicialização
D1313X
D1414X
D1515Xé HIGH durante a inicialização, evita o log de inicialização se for setado para LOW
RX216X
TX217X
D1818X
D1919X
D2121X
D2222X
D2323X
D2525X
D2626X
D2727X
D3232X
D3333X
D3434Xapenas GPIO de entrada, não pode ser configurada como saída
D3535Xapenas GPIO de entrada, não pode ser configurada como saída
VP36Xapenas GPIO de entrada, não pode ser configurada como saída
VN39Xapenas GPIO de entrada, não pode ser configurada como saída

ESP32 Pinout – Pinos de interrupção do ESP32

É possível configurar todos os GPIOs como interrupções.

ESP32 Pinout – Pinos de entrada analógica ADC

Agora, vamos aprofundar nosso conhecimento sobre a conversão analógica para digital. A ESP32 apresenta 15 canais analógicos de 12 bits, o que significa que esses pinos são capazes de converter sinais analógicos em sinais digitais.

Assim sendo, uma tensão de 0 Volts resultará em um valor digital de 0, enquanto a tensão máxima resultará em um valor digital de 4095. De maneira proporcional, as faixas de tensão entre esses extremos produzirão valores digitais correspondentes.

Veja na imagem abaixo quais os pinos analógicos do ESP32.

Além disso, a resolução do ADC e o alcance do canal podem ser definidos programaticamente.

ESP32 Pinout – Conversor Digital para Analógico (DAC)

O ESP32 inclui dois canais DAC de 8 bits para converter sinais digitais em tensões analógicas verdadeiras. Pode ser usado como “potenciômetro digital” para controlar dispositivos analógicos.

Esses Conversores Digital-Analógico (DACs) possuem uma resolução de 8 bits, indicando que valores na faixa de 0 a 256 serão convertidos para uma tensão analógica variando de 0 a 3,3V.

Os pinos DAC são: DAC1 (GPIO25) e DAC2 (GPIO26). Veja na imagem abaixo a disposição deles na placa ESP32.

ESP32 Pinout – Pinos de toque capacitivo (Touch)

O ESP32 apresenta 9 GPIOs capacitivos equipados com detecção de toque. Quando uma carga capacitiva, como a presença de um dedo humano, se aproxima do GPIO, o ESP32 é capaz de detectar a alteração na capacitância.

Esses GPIOs capacitivos operam de maneira semelhante à tecnologia “touch” presente na tela do seu celular. Esses podem ser uma alternativa aos botões mecânicos.

Vale notar que os pinos de toque capacitivos também têm a capacidade de serem utilizados para despertar o ESP32 do modo de economia de energia conhecido como “deep sleep”.

Veja abaixo a disposição dos pinos touch.

ESP32 Pinout – Pinos de comunicação I2C

O ESP32 é equipado com duas interfaces de barramento I2C, embora não possua pinos I2C dedicados. Em vez disso, oferece uma flexibilidade significativa na atribuição de pinos, permitindo que qualquer pino GPIO seja configurado como I2C SDA (linha de dados) e SCL (linha de clock).

É importante notar que, embora haja essa flexibilidade, os GPIOs 21 (SDA) e 22 (SCL) são comumente utilizados como pinos I2C padrão. Essa escolha facilita a compatibilidade com códigos, bibliotecas e recursos existentes do Arduino, simplificando a integração para os usuários.

ESP32 Pinout – Pinos de comunicação SPI

A padronização dos pinos SPI está ilustrado na imagem abaixo:

ESP32 Pinout – Pinos de comunicação serial (UART)

A placa possui três interfaces UART, UART0, UART1 e UART2, que suportam comunicação assíncrona (RS232 e RS485) e IrDA de até 5 Mbps. A seguir é detalhado as características de cada UART:

UART0: Conectado ao USB

UART1: pinos reservados para o chip de memória flash integrado

UART2: liberado para uso

Veja abaixo a disposição das UARTs.

ESP32 Pinout – Pinos de modulação por largura de pulso PWM

A ESP32 possui 21 canais PWM independentes. Com estes pinos é possível controlar motores DC e intensidade de luminosidade de LEDs.

Veja abaixo a disposição dos pinos PWM do ESP32.

ESP32 Pinout – Pinos RTC (Relógio)

RTC, que significa Real Time Clock (Relógio em Tempo Real), desempenha a importante função de manter as datas e horários precisos mesmo durante quedas de energia. No entanto, é necessário o uso de uma bateria para garantir que essa funcionalidade seja mantida em situações de falta de energia.

A ESP32 oferece a capacidade de manter a data atualizada mesmo durante o modo de economia de energia conhecido como Deep Sleep. Isso possibilita a visualização da hora correta a qualquer momento.

Adicionalmente, as portas GPIOs RTC podem ser utilizadas como fonte de ativação externa para sair do modo Deep Sleep quando o coprocessador Ultra Low Power (ULP) está em execução. Isso proporciona uma maneira eficiente de gerenciar o consumo de energia e prolongar a vida útil da bateria.

Veja na sequência o diagrama com a disposições dos pinos RTC.

ESP32 Pinout – Pinos de boot

Esses pinos desempenham um papel crucial ao colocar o ESP32 em dois modos distintos: o modo BOOT, usado para executar o programa armazenado na memória flash, e o modo FLASH, utilizado para enviar o programa para a memória flash. O estado desses pinos no momento da inicialização determina se o ESP32 entrará no modo BOOT ou no modo FLASH.

Existem cinco pinos de boot, são eles: GPIO0, GPIO2, GPIO5, GPIO12 e GPIO15. Veja na imagem a disposição dos cinco pinos.

ESP32 Pinout – Pinos de energia (Alimentação)

Existem dois pinos de alimentação: o pino VIN e o pino 3V3. O pino VIN pode ser usado para alimentar diretamente o ESP32 e seus periféricos, caso você tenha uma fonte de alimentação regulada de 5V. O pino 3V3 é a saída do regulador de tensão integrado na placa ESP32; onde pode-se obter até 600mA de corrente. Já o GND é o pino terra.

ESP32 Pinout – Pino Enable (EN)

O pino de Ativação (EN) desempenha um papel importante no controle do regulador de 3,3 V. Sendo o pino EN pull-up, a desativação do regulador ocorre quando o pino é conectado ao terra. Essa característica possibilita o uso do pino EN em conjunto com um botão, permitindo reiniciar o ESP32 quando necessário. Ao pressionar o botão e conectar o pino EN ao terra, você reinicia o dispositivo, proporcionando uma forma prática de reinicialização manual, sendo opção de reset físico.

Concluindo, neste artigo exploramos diversas características do pinout do ESP32, uma poderosa placa de desenvolvimento para projetos de eletrônica. Desde a flexibilidade dos pinos até a capacidade de detectar toques capacitivos e a gestão eficiente de energia com o modo Deep Sleep, o ESP32 com certeza oferece uma gama impressionante de recursos.

A capacidade de atribuir pinos para interfaces específicas, como I2C, a presença de GPIOs capacitivos, e a utilização do RTC para manter a hora durante o Deep Sleep, destacam-se como vantagens. Além disso, a habilidade de reiniciar o ESP32 utilizando o pino de Ativação (EN) oferece uma maneira física de gerenciar o dispositivo.

Seja para aplicações simples ou projetos mais complexos, o ESP32 continua a ser uma escolha valiosa para entusiastas e profissionais da eletrônica, proporcionando uma combinação única de desempenho e opções de conexões.

Picture of Pedro

Pedro

Bacharel em Engenharia Elétrica, com ênfase em Telecomunicações e hobbysta em eletrônica nas horas vagas =).

VOCÊ TAMBÉM PODE GOSTAR

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *