Microcontrollers Lab

Tabela de conteúdos

Este tutorial é sobre pinout referência do ESP8266 e diferentes tipos de placas ESP8266 como Nodemcu, ESP01 , ESP12. Primeiro, vou dar uma visão geral do ESP8266 IC e sua pinout e depois disso vou fornecer referência pinout das placas mais populares ESP8266.

Esp8266 é um microchip no pacote QFN com capacidades tanto do conjunto TCP/IP como do microcontrolador. O Esp8266 oferece uma solução WiFi altamente integrada que satisfaz as necessidades das indústrias da Internet das Coisas, tais como baixo custo, uso eficiente de energia, desempenho confiável e design compacto. É fabricado pela Espressif Systems em Xangai, China.

Mantendo capacidades completas de rede WiFi, pode funcionar como escravo de um microcontrolador anfitrião ou como uma aplicação autónoma. Quando dizemos escravo de um microcontrolador anfitrião significa que pode usar como um adaptador WiFi para qualquer microcontrolador usando interfaces SPI ou UART. Enquanto que usando como um autônomo ele pode executar as capacidades do microcontrolador e rede WiFi.

Esp8266 é baseado em torno da série L106 Diamond da Tensilica que é um processador de 32 bits e tem SRAM on-chip. Também integra módulos de potência, balun RF, receptor e transmissor RF, receptor e transmissor analógico, banda base digital, amplificador, filtros e alguns outros componentes mínimos.

Especificações do ESP8266

Esp8266 especificação divide-se em três partes: Hardware, Software, e Wi-Fi. Na especificação de hardware, o seu tamanho de pacote é QFN 32pins com uma dimensão de 5mm x 5mm. As tensões de operação variam de 2,5V a 3,6V. O chip consome em média 80mA de corrente. Sua CPU é Tensilica L106 que é um processador de 32bit com SRAM no chip. A interface periférica contém UART, SDIO, SPI, I2C, I2S, controle remoto IR, GIPO’s, ADC, PWM, LED Light e botão.

Its firmware pode ser atualizado usando OTA e UART. Ele usa IPv4, TCP, UDP, e HTTP como protocolos de rede. O usuário pode configurar usando conjunto de comandos AT, Cloud Server e usando uma aplicação móvel.

ESP8266 Chip Pinout e Descrições

Pin layout do pacote QFN de 32 pinos.

  • Pin1: VDDA é um pino de potência para faixas de potência analógica de 2.5V a 3.6V.
  • Pin2: LNA é um pino de entrada/saída especificamente usado para interface de antena RF. Chip produz impedância de 39+j6 Ω.
  • Pin3: VDD3P3 é um pino de potência para fornecer faixas de potência do amplificador de 2,5V a 3,6V.
  • Pin4: VDD3P3 é um pino de potência para fornecer gamas de potência do amplificador de 2.5V a 3.6V semelhantes às do pino 3.
  • pino 5: VDD_RTC é categorizado como um pino de potência e alimentação 1.1V mas este pino não está conectado.
  • Pin6: TOUT é um pino de entrada que funciona como pino ADC para testar as tensões de alimentação do pino3 e pino4 e as tensões de entrada do pino TOUT6. Estas duas funções não podem executar simultaneamente.
  • Pino7: CHIP_EN I um pino de entrada. Quando CHIP_EN pino é HIGH chip funciona corretamente quando LOW chip consumiu apenas uma pequena quantidade de corrente.
  • Pin8: XPD_DCDC é um pino de entrada/saída que é usado para acordar o chip do modo de sono profundo. Normalmente é conectado com GPIO16.
  • Pin9: MTMS é um pino de entrada/saída rotulado como GPIO14 e é usado em SPI como pino do relógio (SPI_CLK).
  • Pin10: MTDI é um pino de entrada/saída rotulado como GPIO12 e é usado em SPI como pino Master-In-Slave-Out (SPI_MISO).
  • Pin11: VDDPST é um pino de potência. É uma fonte de alimentação de entrada/saída digital cujas tensões variam de 1,8V a 3,6V. Similar ao pino17.
  • Pin12: MTCK é um pino de entrada/saída rotulado como GPIO13 e é usado em SPI como pino Master-Out Slave-In (SPI_MOSI) bem como usado em UART como pino Clear To Send (UART_CTS).
  • Pin13: MTDO é um pino de entrada/saída rotulado como GPIO15 e é usado em SPI como pino Chip Select (SPI_CS) bem como usado em UART como pino Request To Send (UART_RTS).
  • Pin14: GPIO2 é um pino de entrada/saída usado como UART TX durante a programação flash.
  • Pin15: GPIO0 é um pino de entrada/saída usado como Chip Select pin2 no SPI (SPI_CS2).
  • Pin16: GPIO4 é um pino de entrada/saída usado apenas para fins de entrada e saída.
  • Pin17: VDDPST é um pino de potência. É uma fonte de alimentação de entrada/saída digital cujas tensões variam de 1,8V a 3,6V. Similar ao pino11.
  • Pin18: SDIO_DATA_2 é um pino de entrada/saída rotulado como GPIO9 e usado para conectar com o pino de dados 2 do cartão SD.
  • Pin19: SDIO_DATA_3 é um pino de entrada/saída rotulado como GPIO10 e usado para conectar com o pino de dados 3 do cartão SD.
  • Pin20: SDIO_CMD é um pino de entrada/saída rotulado como GPIO11 e usado para conectar com o pino de comando do cartão SD
  • Pin21: SDIO_CLK é um pino de entrada/saída rotulado como GPIO6 e usado para conectar com o pino do relógio do cartão SD.
  • Pin22: SDIO_DATA_0 é um pino de entrada/saída rotulado como GPIO7 e usado para se conectar com o pino de dados 0 do cartão SD.
  • Pin23: SDIO_DATA_1 é um pino de entrada/saída rotulado como GPIO8 e usado para se conectar com o pino de dados 1 do cartão SD.
  • Pin24: GPIO5 é um pino de entrada/saída puramente usado para fins de entrada e saída.
  • Pin25: U0RXD é um pino de entrada/saída rotulado como GPIO3 e usado como UART RX durante a programação flash.
  • Pin26: U0TXD é um pino de entrada/saída rotulado como GPIO1 e usado como UART TX durante a programação flash. Também usado como SPI Chip Select pin 1 (SPI_CS1).
  • Pin27: XTAL_OUT é classificado como um pino de entrada/saída e conectado à saída do oscilador de cristal.
  • Pin28: XTAL_IN é classificado como um pino de entrada/saída e conectado à entrada do oscilador de cristal.
  • Pino29: VDDD é um pino de potência que fornece faixas de potência analógica de 2,5V a 3,6V.
  • Pino30: VDDA é um pino de potência que fornece faixas de potência analógica de 2,5V a 3,6V. Similar ao pino29.
  • Pino31: RES12K é um pino de entrada que é conectado em série com 12 resistores kΩ e conectado à terra.
  • Pino32: EXT_RSBT é um pino de entrada usado para descansar o chip fornecendo um sinal externo de reset que está ativo em um nível de baixa tensão.
  • Pin33: GND é um pino de alimentação que actua como terra para o chip.

Todos os GPIO’s podem ser usados como pino de Entrada e Saída, mas também têm a sua função específica.

Esquema

ESP8266 Os esquemas incluem os seguintes componentes:

  • Fornecimento de energia
  • Sequência de ligação e reset
  • Flash
  • Oscilador de cristal
  • RF
  • Resistor externo
  • UART

Até agora cobrimos o preâmbulo Esp8266, o diagrama de blocos funcionais, a disposição dos pinos, a descrição e os esquemas.

Em agosto de 2014 Espressif Systems lançou seu primeiro módulo bruto que é fabricado pela terceira parte AI-Thinker e módulo referido como módulo ESP-01. Desde então a Ai-Thinker desenvolveu uma série de módulos baseados no ESP8266, esta série referida como módulos ESP-xx varia de 01 a 14.

Pinout de diferentes tipos de módulos ESP8266

Nesta seção do artigo, falaremos sobre pinout de diferentes versões do módulo ESP8266 a partir do ESP-01 ao ESP-12.

Espressif Systems lançou seu primeiro kit oficial de desenvolvimento de software para programar o chip diretamente sem fazer interface com um microcontrolador externo. Desde então existem muitos SDKs oficiais, mas o Espressif mantém apenas dois SDKs estáveis, um baseado no FreeRTOS e outro baseado em callbacks. Há também uma variedade de SDKs de código aberto para ESP8266.

Arduino: é o SDK mais comumente usado devido à sua popularidade. É um SDK baseado em C++. O ESP6266 é fácil de programar como placas Arduino. Os arquivos principais estão disponíveis no GitHub.

NodeMCU: é um kit de desenvolvimento de software baseado em Lua.

MicroPython: é o uso da linguagem python para dispositivos embarcados.

Espruino, SO Mongoose, uLisp, Sming, Plataforma IO, ESP Easy, Smick, ESP Open RTOS são alguns outros SDK’s de código aberto.A necessidade destas placas de desenvolvimento é necessária devido à série de módulos ESP-xx não possuir um regulador de tensão integrado, USB para UART Bridge como CH340G e o CP2102 do Silicon Lab e conector micro USB. Antes tivemos que comprar separadamente o regulador de voltagem e o USB para a ponte UART e depois ligámo-los com os módulos ESP-xx para o flashar.

Aqui discutiremos principalmente a placa de desenvolvimento baseada no módulo ESP-12E.

ESP8266 12E Módulo Pinout

Esp8266 Módulo 12E tem um total de 22 pinos que incluem

Não. de pinos Pin Label Descrição
17 GPIO GPIO gama de pinos de GPIO0 a GPIO16 inclui pinos de interface SPI, I2C, SDIO, UART.
1 ADC 10 bit Conversor analógico para digital.
1 VCC Tensão de alimentação 3.3V
1 GND Pino de terra
1 RST Pino de descanso
1 Enable Chip Enable Pin

ESP8266 12E Wemos D1 Mini pinout

Wemos D1 Mini development board tem um total de 16 pinos nos quais 12 pinos estão ativos, utiliza o módulo ESP-12, botão de reposição a bordo, 3.Regulador de 3 tensões, Micro USB, ponte USB para UART e alguns outros componentes.

Não. de

Pin

Label Descrição
1 3.3V 3.3 volts pin
1 5.0 Entrar pino de tensão 5V
1 GND Pino de voltagem terra
1 ADC 10 bit Conversor analógico para digital
1 RST Pino de reinicialização
9 D0 a D8, Pinos de entrada/saída também usados para SPI e I2C, Flash.
2 RX,TX Interface UART.

Pino do módulo ESP8266 01

ESP8266 01 O módulo é diferente mas comumente usado como as placas de desenvolvimento acima. Esta placa não é amigável a placas de desenvolvimento, muitas vezes um módulo de programação separado é usado para programação. Tem um total de 8 pinos nos quais 6 pinos estão ativos.

Nº de

Pin

Label Descrição
1 3.3V Suprimento 3.3 volts pino
1 GND Pino terra
1 RST Pino de reinicialização
1 CH_PD/EN Pino de potência e ativação do chip
GPIO 0 a 3 Interface UART e pinos de entrada/saída

ESP8266 12E pino da placa de desenvolvimento do NodeMCU

A placa de desenvolvimento do NodeMCU tem um total de 30 pinos nos quais 14 pinos estão ativos, utiliza o módulo ESP-12, o botão onboard reset e flash, 3.3 regulador de voltagem, Micro USB, Ponte USB para UART e alguns outros componentes.

Nº de

Pin

Label Descrição
3 3.3V 3.3 pinos de voltagem
1 Vin Entrar pino de voltagem 5V
4 GND Terra pinos
1 ADC 10 bit Conversor analógico para digital
1 RST Pino de reinicialização
1 PT Pino de ativação do chip
1 CLK CLK pino para interface SPI e SDIO
1 SD0 Pino 0 de dados para SDIO e pino MISO para interface SPI.
1 CMD Pino de comando para a interface SDIO e pino de seleção de chip para a interface SPI.
1 SD1 Pino de dados 1 para interface SDIO e pino MOSI para interface SPI.
1 SD2 Pino de dados 0 para interface SDIO e também usado como GPIO9.
1 SD3 Pino 3 de dados para interface SDIO e também usado como GPIO10.
2 RSV Pinos reservados.
11 D0 a D8, RX, TX Pinos de entrada/saída também usados para UART, SPI, I2C, Flash e pino de despertar.

Periféricos ESP8266

Os periféricos ESP8266 têm os seguintes periféricos:

  • 17 Pinos de Entrada de Propósito Geral
  • Interface Série de Periféricos (SPI)
  • Circuito Integrado (12C)
  • Inter-IC Interfaces de Som (12S) com Acesso Directo à Memória
  • Interface de Receptor Assíncrono Universal do Transmissor.
  • Conversor analógico para digital de 10 bits

Entrada analógica

ESP8266 tem apenas um conversor analógico para digital de 10 bits que se refere como ADC0 e etiquetas como A0. Mas esta é também uma das maiores desvantagens porque a maioria dos usuários tem que conectar dois sensores, então temos que comprar módulos ADC separados, IC e circuito de multiplexação para interfacear dois ou mais sensores, mas este é um tópico de outro artigo.

Tensão analógica de entrada do módulo ESP-01 varia de 0 a 1V. A placa de desenvolvimento baseada no módulo ESP-12E tem faixas de tensão analógica de entrada de 0 a 3,3V. Portanto, temos que ter em mente ao escrever um esboço para usar os pinos A0.

PWM Pins

O ESP8266 permite PWM em todos os pinos de entrada/saída de GPIO0 a GPIO16. Os sinais PWM têm resoluções de 10 bits.

Pinos SPI

A Serial Programming Interface (SPI) tem os seguintes pinos no ESP8266

Pinos I2C

ESP8266 fornece apenas o software I2C interface significa que podemos usar quaisquer dois pinos para I2C, mas seguindo os pinos mais utilizados.

GPIO5 para Linha de Relógio Serial (SCL)

GPIO4 para Linha de Dados Serial (SDA)

Pinos de Interrupção

Podemos usar qualquer pino GPIO para interrupções exceto GPIO16.

Acorde

Para acordar o ESP8266 do sono profundo usando GPIO16 conectando-o ao pino RST. Este é um tópico para outro artigo.

LED On board

As placas de desenvolvimento têm, na sua maioria, um ou mais LEDs incorporados. O LED incorporado no módulo ESP8266 é ligado ao GPIO2 e o LED incorporado na placa de desenvolvimento ligada ao GPIO16.

Botão Reset e Flash

Pring the reset button or pulling RST pin low resets the ESP8266 chip. Premindo o botão Flash ou puxando o pino baixo GPIO0 coloca o chip ESP8266 no modo bootloader.

Que pino do ESP8266 usar

Tenham sempre em mente que a etiqueta GPIO não corresponde à etiqueta na serigrafia. Por exemplo, GPIO0 corresponde a D3 e D0 corresponde a GPIO16. O GPIO com um carrapato verde é o melhor a utilizar.

Etiqueta GPIO Entrada Saída Descrição
A0 ADC0 Entrada analógica Não Para entrada analógica de 0 a 3.3v e sem saída.
RX GPIO3 Sim Apenas pino RX Alto no Boot.
TX GPIO1 Só no pino do Tx Sim Alto na Bota.
D0 GPIO16 Sem interrupção Sem I2C, PWM Usado para acordar o chip do sono profundo, Alto no Boot.
D1 GPIO5 Sim Sim Muito usado como SCL
D2 GPIO4 Sim Sim Muito usado como SDA
D3 GPIO0 Pull up Sim Conectado ao botão Flash
D4 GPIO2 Puxado para cima Sim Conectado à construção…em LED, Alto no Boot.
D5 GPIO14 Sim Sim PinoSCLK para interface SPI
D6 GPIO12 Sim Sim Pino MISO para interface SPI
D7 GPIO13 Sim Sim Pino MOSI para interface SPI
D8 GPIO15 Puxado à terra Sim Pino CS para interface SPI

Pino ESP8266 Alto e Baixo-sinal de tensão na Bota

Enquanto o ESP8266 arranca, os seguintes pinos fornecem 3.sinal de 3v nos pinos especificados para que os relés de conexão, transistor ou quaisquer outros dispositivos periféricos possam se comportar mal. A seguinte saída de pinos de 3.3v no Boot:

  • GPIO16
  • GPIO3
  • GPIO1
  • GPIO10
  • GPIO9

Todos os outros pinos GPIOs fornecem baixa tensão simples no Boot excepto GPIO4 e GPIO5. Assim, os GPIO4 e GPIO5 são os melhores pinos para conectar relés, transistores e outros dispositivos periféricos a resultados estáveis.

Configuração dos pinos durante a inicialização

Para iniciar o ESP8266 com sucesso, temos de desativar os pinos especificados para obter ALTO ou BAIXO.

  • GPIO16: o pino é alto em BOOT
  • GPIO3: o pino é alto em BOOT
  • GPIO10: o pino é alto em BOOT
  • GPIO9: o pino é alto em BOOT
  • GPIO2: pino está alto na BOOT, falha na inicialização se puxado BAIXO
  • GPIO1: pino está alto na BOOT, falha na inicialização se puxado BAIXO
  • GPIO0: falha na inicialização se puxado BAIXO
  • GPIO15: falha na inicialização se puxado ALTO

Aplicações do ESP8266

  • Automação doméstica
  • Conectores e interruptores de corrente eléctrica
  • Electrodomésticos domésticos (como AC, Impressora)
  • Controle industrial sem fio
  • Dispositivos sensores
  • Gadgets usáveis
  • Câmeras IP
  • Dispositivos de segurança
  • Dispositivos de localização Wi-Fi
  • Sistema de posição Wi-Fi
  • >

>

Pode também gostar de dar uma olhada em outros tutoriais do ESP8266: