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

ESP8266 Pinout: Quais GPIOs devo usar?

Esp8266 pinout

Este artigo é um guia para os GPIOs do ESP8266: diagramas de pinagem, suas funções e como usá-los.

O chip ESP8266 12-E vem com 17 pinos GPIO. Nem todos os GPIOs estão disponíveis em todas as placas de desenvolvimento ESP8266, alguns GPIOs não são recomendados para uso, e outros têm funções muito específicas.

Com este guia, você aprenderá como usar corretamente os GPIOs do ESP8266 e evitará horas de frustração ao usar os pinos corretos para seus projetos.

ESP8266 12-E Chip Pinout

A figura a seguir ilustra o layout dos pinos do chip ESP8266 12-E. Utilize este diagrama se estiver utilizando um chip ESP8266 sem placa em seus projetos.

ESP8266 12-E pinout

Atualmente, há uma ampla variedade de placas de desenvolvimento com o chip ESP8266 que diferem no número de GPIOs acessíveis, tamanho, formato, etc.

As placas ESP8266 mais amplamente utilizadas são o ESP-01, o Kit NodeMCU ESP8266-12E e o Wemos D1 Mini.

ESP8266-01 Pinout

Se estiver utilizando uma placa ESP8266-01, você pode utilizar o seguinte diagrama de GPIO como referência.

ESP8266-01 Pinout

ESP8266 12-E NodeMCU Kit

O diagrama de pinos do kit ESP8266 12-E NodeMCU é mostrado abaixo.

ESP8266 12-E NodeMCU Kit pinout

Wemos D1 Mini Pinout

A figura a seguir mostra o diagrama de pinos do WeMos D1 Mini.

Wemos D1 Mini Pinout

Periféricos ESP8266

Os periféricos do ESP8266 incluem:

  • 17 GPIOs
  • SPI
  • I2C (implementado em software)
  • Interfaces I2S com DMA
  • UART
  • ADC de 10 bits

Melhores pinos para usar – ESP8266

Uma coisa importante a notar sobre o ESP8266 é que o número do GPIO não corresponde à etiqueta na serigrafia da placa. Por exemplo, D0 corresponde ao GPIO16 e D1 corresponde ao GPIO5.

A tabela a seguir mostra a correspondência entre as etiquetas na serigrafia e o número do GPIO, assim como quais pinos são os melhores para usar em seus projetos e quais você precisa ter cautela.

Os pinos destacados em verde estão OK para uso. Os destacados em amarelo estão OK para uso, mas você precisa prestar atenção porque podem ter comportamento inesperado principalmente durante a inicialização. Os pinos destacados em vermelho não são recomendados para uso como entradas ou saídas.

RÓTULOGPIOINPUTOUTPUTNOTAS
D0GPIO16Sem interrupçãoSem suporte a PWM ou I2CHigh na inicialização
D1GPIO5OKOKfrequentemente usado como SCL (I2C)
D2GPIO4OKOKfrequentemente usado como SDA (I2C)
D3GPIO0pulled upOKconectado ao botão FLASH, a inicialização falha se ficar em LOW
D4GPIO2pulled upOKHigh na inicialização, conectado ao LED integrado, a inicialização falha se ficar em LOW
D5GPIO14OKOKSPI (SCLK)
D6GPIO12OKOKSPI (MISO)
D7GPIO13OKOKSPI (MOSI)
D8GPIO15pulled to GNDOKSPI (CS)
RXGPIO3OKRX PinHIGH na inicialização
TXGPIO1TX pinOKHIGH na inicialização
A0ADC0Entrada analógicaX

Continue lendo para uma análise mais detalhada e aprofundada dos GPIOs do ESP8266 e suas funções.

GPIOs conectados ao chip de memória flash

Os GPIOs 6 a 11 geralmente estão conectados ao chip de memória flash em placas ESP8266. Portanto, não são recomendados para uso.

Pinos usados durante a inicialização

O ESP8266 pode ser impedido de inicializar se alguns pinos forem puxados para LOW ou para HIGH. A seguinte lista mostra o estado dos seguintes pinos na INICIALIZAÇÃO:

  • GPIO16: pino está high na INICIALIZAÇÃO
  • GPIO0: falha de inicialização se puxado para LOW
  • GPIO2: pino está high na INICIALIZAÇÃO, falha de inicialização se puxado para LOW
  • GPIO15: falha de inicialização se puxado para HIGH
  • GPIO3: pino está high na INICIALIZAÇÃO
  • GPIO1: pino está high na INICIALIZAÇÃO, falha de inicialização se puxado para LOW
  • GPIO10: pino está high na INICIALIZAÇÃO
  • GPIO9: pino está high na INICIALIZAÇÃO

Pinos com estado HIGH na inicialização

Existem alguns pinos que emitem um sinal de 3,3V quando o ESP8266 é inicializado. Isso pode ser problemático se você tiver relés ou outros periféricos conectados a esses GPIOs. Os seguintes GPIOs emitem um sinal HIGH na inicialização:

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

Além disso, os outros GPIOs, exceto GPIO5 e GPIO4, podem emitir um sinal de baixa voltagem na inicialização, o que pode ser problemático se estiverem conectados a transistores ou relés. Você pode ler este artigo que investiga o estado e comportamento de cada GPIO na inicialização.

Entrada AnalógicaESP8266

O ESP8266 suporta apenas leitura analógica em um GPIO. Esse GPIO é chamado de ADC0 e geralmente é marcado na serigrafia como A0.

A tensão máxima de entrada do pino ADC0 é de 0 a 1V se você estiver usando o chip ESP8266 sem placa. Se estiver usando uma placa de desenvolvimento como o kit NodeMCU ESP8266 12-E, a faixa de entrada de voltagem é de 0 a 3,3V porque essas placas contêm um divisor de tensão interno.

LED Integrado (Interno)

A maioria das placas de desenvolvimento ESP8266 tem um LED embutido. Este LED geralmente está conectado ao GPIO2.

O LED funciona com lógica invertida. Envie um sinal HIGH para desligá-lo e um sinal LOW para ligá-lo.

Led interno esp8226 pinout

Pino RST

Quando o pino RST é levado ao estado LOW, ocorre um reset no ESP8266, o que é similar a pressionar o botão de RESET presente na placa.

pino rst esp8266 pinout

GPIO0

Quando o GPIO0 é configurado como LOW, isso coloca o ESP8266 no modo de inicialização, semelhante a pressionar o botão FLASH/BOOT na placa.

gpio0 esp8266 pinout

GPIO16

Para acordar o ESP8266 do modo de sono profundo, conecte o GPIO16 ao pino RST. Isso permite que o ESP8266 seja ativado a partir do estado de dormência profunda quando necessário.

I2C

O ESP8266 não possui pinos I2C de hardware, mas pode ser implementado em software. Portanto, você pode usar qualquer GPIOs como I2C. Normalmente, os seguintes GPIOs são usados como pinos I2C:

  • GPIO5: SCL
  • GPIO4: DAS

SPI

Para o SPI no ESP8266, os pinos utilizados são:

  • GPIO12: MISO (Master In Slave Out)
  • GPIO13: MOSI (Master Out Slave In)
  • GPIO14: SCLK (Serial Clock)
  • GPIO15: CS (Chip Select)

Pinos PWM

O ESP8266 permite PWM (Modulação por Largura de Pulso) por software em todos os pinos de I/O: GPIO0 a GPIO15. Os sinais PWM no ESP8266 têm uma resolução de 10 bits.

Pinos de Interrupção

O ESP8266 é capaz de utilizar interrupções em qualquer um de seus pinos GPIO, exceto no GPIO16.

GPIO INPUT / OUTPUT – ESP8266

Abaixo os pinos que funcionam como INPUT e OUTPUT. Realizamos alguns testes para comprovar que realmente eles funcionam:

  • OUTPUT Digital (digitalWrite): NÃO funcionou com os GPIOs 6, 7, 8, 11 e o ADC (A0)
  • INPUT Digital (digitalRead): NÃO funcionou com os GPIOs 1, 3, 6, 7, 8, 11 e o ADC (A0)
  • OUTPUT Analógico (analogWrite): NÃO funcionou com os GPIOs 6, 7, 8, 11 e o ADC (A0) (Os GPIOs 4, 12, 14, 15 possuem PWM por hardware os demais por software)
  • INPUT Analógico (analogRead): funcionou apenas com o ADC (A0)

Obs: Os pinos 6, 7, 8, 11 não funcionam para as quatro funções acima.

Qual o número que coloco quando estou programando?

Você pode utilizar o número que está na frente do GPIO ou as constantes A0, D0, D1, D2, D3, D4, D5, D6, D7 e D8.

Finalizando

Esperamos que este guia sobre os GPIOs do ESP8266 tenha sido proveitoso para você. Se tiver algum conselho ou dicas sobre o uso adequado dos GPIOs do ESP8266, por favor, compartilhe conosco na seção de comentários abaixo.

Além disso, se você tiver alguma dúvida ou precisar de mais informações sobre o ESP8266 ou qualquer outro tópico relacionado, não hesite em perguntar. Estamos aqui para ajudar!

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

Uma resposta

Deixe um comentário

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