Referência de pinagem de Esptop 10 - um guia completo

Referência de pinagem de Esptop 10 - um guia completo
Esp32 é uma placa de microcontrolador que possui vários pinos de GPIO para vários fins. Cada um desses pinos foi projetado para funções específicas. O ESP32 apresenta um número maior de pinos quando comparado às placas Arduino UNO ou ESP8266. Para começar a trabalhar com o ESP32, um conhecimento suficiente de seu PIN é essencial. O objetivo deste guia é discutir todos os pinos disponíveis no quadro e seus recursos associados.

Este guia de pinagem para ESP32 contém o seguinte conteúdo:

1: Introdução ao ESP32

  • 1.1: esp32 pinout
  • 1.2: ESP32 Placa de versão de 36 pinos
  • 1.3: ESP32 Placa de versão de 36 pinos
  • 1.4: Qual é a diferença?

2: Esp32 GPIO pinos

  • 2.1: pinos de entrada/saída
  • 2.2: apenas pinos de entrada
  • 2.3: pinos de interrupção
  • 2.4: pinos RTC

3: Esp32 pinos ADC

  • 3.1: esp32 adc pinout
  • 3.2: canal 1 pino ADC
  • 3.3: canal 2 pino ADC
  • 3.4: Como usar o ESP32 ADC
  • 3.5: Limitação do ADC no ESP32

4: pinos DAC

5: pinos PWM

6: pinos SPI no ESP32

7: pinos i2c

8: I2s pinos

9: UART

10: pinos de toque capacitivos

11: Esp32 pinos de amarração

12: pinos altos na bota

13: Ativar (pt) pino

14: Esp32 pinos de potência

15: Sensor de efeito do Hall Esp32

Antes de avançarmos aqui, resumimos uma breve introdução à placa IoT ESP32.

1: Introdução ao ESP32

  • Esp32 é uma placa de microcontrolador baseada em IoT muito popular.
  • A parte principal desta placa de microcontrolador é um chip tensilica xttensa lx6 projetado por sistemas espressifes.
  • Ele contém um processador de núcleo duplo e cada um desses núcleos pode ser controlado separadamente.
  • Total de 48 pinos estão presentes no chip esp32, mas nem todos esses pinos são expostos aos usuários.
  • Esp32 vem em duas versões diferentes: 30 pinos e 36 pinos.
  • O ESP32 pode subir para uma frequência a partir de 80 MHz a 240 MHz.
  • Ele contém um ULP especial (coprocessador ultra baixo de potência) que economiza uma grande quantidade de energia usando muito menos energia enquanto o processador principal está desligado.
  • Ele contém wifi a bordo e um módulo Bluetooth duplo.
  • Esp32 é mais barato que outros microcontroladores.

1.1: esp32 pinout

Várias variantes do ESP32 estão disponíveis no mercado, hoje abordaremos a pinagem detalhada da variante de 30 pinos que vem com o microcontrolador ESP32-Wroom-32 às vezes também chamado de wroom32.

Total de 48 pinos estão disponíveis nos chips ESP32, entre os quais 30 pinos são expostos ao usuário, enquanto outros são integrados dentro do microcontrolador; Algumas placas também contêm seis pinos integrados SPI extras que resumem o pino total para 36.

1.2: ESP32 Placa de versão de 30 pinos

A imagem abaixo representa a pinagem detalhada da variante ESP32 30 pinos, contendo todos os seus periféricos que discutimos um por um em detalhes.

Alguns periféricos principais dentro do ESP32 são:

  • Total de 48 pinos*
  • 18 pinos ADC de 12 bits
  • Dois pinos DAC de 8 bits
  • 16 canal PWM
  • 10 pinos de toque capacitivos
  • 3 UART
  • 2 I2C
  • 1 Can
  • 2 i2s
  • 3spi

*O chip ESP32 contém um total de 48 pinos dos quais apenas 30 pinos disponíveis para interface externo (em alguns quadros 36 que incluem 6 pinos extras SPI) restantes 18 pinos são integrados dentro do chip para fins de comunicação fins.

1.3: ESP32 Placa de versão de 36 pinos

Aqui está uma imagem de uma placa ESP32 com um total de 36 pinos.

1.4: Diferença entre esp32 versão de 30 pinos e versão esp32 36 pinos

Ambas as placas ESP32 compartilham a mesma especificação. faltando de Toque 1 e ADC2 CH1 alfinete.

2: Esp32 GPIO pinos

Como mencionado anteriormente, o ESP32 tem um total de 48 pinos dos quais apenas 30 pinos são acessíveis aos usuários. Cada um desses 30 pinos de saída de entrada de propósito geral tem uma função específica e pode ser configurada usando um registro específico. Existem diferentes pinos de GPIO como UART, PWM, ADC e DAC.

Destes 30 pinos, alguns são poder, enquanto outros podem ser configurados como entrada e saída, enquanto existem certos pinos que são apenas de entrada.

2.1: pinos de entrada/saída

Quase todos os pinos GPIO podem ser configurados como entrada e saída, exceto os 6 pinos de flash da interface periférica serial (SPI) que não podem ser configurados para fins de entrada ou saída. Estes 6 pinos SPI estão disponíveis na placa de versão de 36 pinos.

A tabela dada abaixo explica o status dos pinos GPIO ESP32 que podem ser usados ​​como entrada e saída:

Aqui OK significa que o pino correspondente pode ser usado como entrada ou saída.

GPIO PIN ENTRADA SAÍDA Descrição
GPIO 0 Puxado para cima OK Saída PWM na inicialização
GPIO 1 Pino tx OK Debug de saída na inicialização
GPIO 2 OK OK A bordo LED
GPIO 3 OK Pino rx Alto na bota
GPIO 4 OK OK -
GPIO 5 OK OK Saída PWM na inicialização
GPIO 6 - - Pino flash spi
GPIO 7 - - Pino flash spi
GPIO 8 - - Pino flash spi
GPIO 9 - - Pino flash spi
GPIO 10 - - Pino flash spi
GPIO 11 - - Pino flash spi
GPIO 12 OK OK Falha na bota em alta tração
GPIO 13 OK OK -
GPIO 14 OK OK Saída PWM na inicialização
GPIO 15 OK OK Saída PWM na inicialização
GPIO 16 OK OK -
GPIO 17 OK OK -
GPIO 18 OK OK -
GPIO 19 OK OK -
GPIO 21 OK OK -
GPIO 22 OK OK -
GPIO 23 OK OK -
GPIO 25 OK OK -
GPIO 26 OK OK -
GPIO 27 OK OK -
GPIO 32 OK OK -
GPIO 33 OK OK -
GPIO 34 OK Apenas entrada
GPIO 35 OK Apenas entrada
GPIO 36 OK Apenas entrada
GPIO 39 OK Apenas entrada

2.2: apenas pinos de entrada

Os pinos GPIO 34 a 39 não podem ser configurados como saída, pois estes são apenas para fins de entrada. Isso se deve à falta de resistor interno de puxar ou puxar, portanto, só pode ser usado como entrada.

Além disso, o GPIO 36 (VP) e o GPIO 39 (VN) são usados ​​para pré-amplificadores de ruído ultra-baixo no ESP32 ADC.

Para resumir a seguir, são os pinos de entrada apenas no ESP32:

  • GPIO 34
  • GPIO 35
  • GPIO 36
  • GPIO 39

2.3: pinos de interrupção

Todos os pinos GPIO no ESP32 podem levar interrupções externas. Isso ajuda a monitorar a mudança em uma interrupção específica em vez de monitorar continuamente.

2.4: pinos RTC

Esp32 também possui alguns pinos RTC GPIO. Esses pinos de RTC permitem que o ESP32 funcione no modo de suspensão profundo. Quando o ESP32 está dentro do modo de suspensão profundo enquanto executa um co-processador de energia ultra-baixa (ULP), esses pinos RTC podem acordar esp32 do sono profundo, economizando uma grande porcentagem de poder.

Esses pinos do RTC GPIO podem atuar como uma fonte de excitação externa para acordar o ESP32 do sono profundo em um determinado momento ou interrupção. Os pinos do RTC GPIO incluem:

  • Rtc_gpio0 (gpio36)
  • Rtc_gpio3 (gpio39)
  • Rtc_gpio4 (gpio34)
  • Rtc_gpio5 (gpio35)
  • Rtc_gpio6 (gpio25)
  • Rtc_gpio7 (gpio26)
  • Rtc_gpio8 (gpio33)
  • Rtc_gpio9 (gpio32)
  • Rtc_gpio10 (gpio4)
  • Rtc_gpio11 (gpio0)
  • Rtc_gpio12 (gpio2)
  • Rtc_gpio13 (gpio15)
  • Rtc_gpio14 (gpio13)
  • Rtc_gpio15 (gpio12)
  • Rtc_gpio16 gpio14)
  • Rtc_gpio17 (gpio27)

3: Esp32 pinos ADC

A placa ESP32 possui dois ADCs integrados de 12 bits, também conhecidos como ADCs de SAR (Secatification Aproximation Registers). Os ADCs da placa ESP32 suportam 18 canais de entrada analógicos diferentes, o que significa que podemos conectar 18 sensores analógicos diferentes para obter a entrada deles.

Mas este não é o caso aqui; Esses canais analógicos são divididos em duas categorias canal 1 e canal 2, esses dois canais têm alguns pinos que nem sempre estão disponíveis para entrada de ADC. Vamos ver o que são esses pinos do ADC junto com os outros.

3.1: esp32 adc pinout

Como mencionado anteriormente, a placa ESP32 possui 18 canais ADC. Das 18, apenas 15 estão disponíveis no Placa Devkit V1 DOIT com um total de 30 GPIOs.

Dê uma olhada no seu quadro e identifique os pinos do ADC enquanto os destacamos na imagem abaixo:

3.2: canal 1 pino ADC

A seguir, é apresentado o mapeamento de pinos do PIN do ESP32 Devkit Doit Board. O ADC1 no ESP32 possui 8 canais, no entanto, a placa doit devkit suporta apenas 6 canais. Mas eu garanto que eles ainda são mais do que suficientes.

ADC1 GPIO PIN ESP32
CH0 36
CH1 37* (NA)
CH2 38* (NA)
CH3 39
CH4 32
CH5 33
CH6 34
CH7 35

*Esses pinos não estão disponíveis para interface externa; estes são integrados dentro de chips esp32.

A imagem seguinte mostra os canais ESP32 ADC1:

3.3: canal 2 pino ADC

As placas Devkit DOIT têm 10 canais analógicos no ADC2. Embora o ADC2 tenha 10 canais analógicos para ler dados analógicos, esses canais nem sempre estão disponíveis para usar. O ADC2 é compartilhado com os drivers Wi -Fi a bordo, o que significa que no momento em que a placa está usando WiFi, esses ADC2 não estarão disponíveis. Solução para esse problema é usar o ADC2 apenas quando o driver Wi-Fi estiver desligado.

ADC2 GPIO PIN ESP32
CH0 4
CH1 0 (na versão de 30 pinos esp32-devkit doit)
CH2 2
CH3 15
CH4 13
CH5 12
CH6 14
CH7 27
CH8 25
CH9 26

Abaixo da imagem mostra o mapeamento de pinos do canal ADC2.

3.4: Como usar o ESP32 ADC

O ESP32 ADC funciona de maneira semelhante à única diferença de Arduino aqui, ele tem ADC de 12 bits. Portanto, a placa ESP32 mapeia os valores de tensão analógica que variam de 0 a 4095 em valores discretos digitais.

  • Se a tensão dada ao ESP32 ADC for zero e um canal ADC, o valor digital será zero.
  • Se a tensão dada ao ADC for máxima significa 3.3V O valor digital de saída será igual a 4095.
  • Para medir uma tensão mais alta, podemos usar o método de divisor de tensão.

Observação: O ESP32 ADC é por padrão definido em 12 bits, no entanto, é possível configurá-lo em 0 bits, 10 bits e 11 bits. O ADC padrão de 12 bits pode medir o valor 2^12 = 4096 e a tensão analógica varia de 0V a 3.3V.

3.5: Limitação do ADC no ESP32

Aqui estão algumas limitações do ESP32 ADC:

  • O ESP32 ADC não pode medir diretamente a tensão maior que 3.3V.
  • Quando os drivers Wi-Fi estão ativados, o ADC2 não pode ser usado. Apenas 8 canais de ADC1 podem ser usados.
  • O ESP32 ADC não é muito linear; isto mostra Não-linearidade comportamento e não pode distinguir entre 3.2V e 3.3V. No entanto, é possível calibrar o ESP32 ADC. Aqui está um artigo que o guiará para calibrar o comportamento da não linearidade ESP32 ADC.

O comportamento não -linearidade do ESP32 pode ser visto no monitor serial do Arduino IDE.

4: pinos DAC

Esp32 apresenta dois a bordo DAC de 8 bits (Conversor digital para analógico). Usando os pinos DAC ESP32, qualquer sinal digital pode ser transformado em analógico. Aplicação dos pinos DAC inclui controle de tensão e PWM.

A seguir estão os dois pinos DAC na placa ESP32.

  • Dac_1 (gpio25)
  • Dac_2 (gpio26)

5: pinos PWM

A placa ESP32 contém 16 canais independentes de modulação de largura de pulso (PWM) que podem gerar diferentes sinais de PWM. Quase todos os GPIOs podem gerar um sinal PWM, no entanto, a entrada apenas pinos 34,35,36,39 não pode ser usado como pinos PWM, pois eles não podem emitir um sinal.

Observação: Em 36 pinos ESP32, a bordo 6 pinos integrados SPI Flash (GPIO 6, 7, 8, 9, 10, 11) não podem ser usados ​​como PWM.

Leia aqui um guia completo para iniciantes para controlar os pinos PWM Esp32 usando Arduino IDE.

6: pinos SPI no ESP32

O ESP32 possui quatro periféricos SPI integrados em seu microcontrolador:

  • SPI0: Não pode ser usado externamente apenas para comunicação interna.
  • SPI1: Não pode ser usado externamente com dispositivos SPI. Somente para comunicação interna de memória
  • SPI2: SPI2 ou HSPI podem se comunicar com dispositivos e sensores externos. Possui sinais de ônibus independentes com cada capacidade de barramento de controlar 3 dispositivos escravos.
  • SPI3: SPI3 ou VSPI podem se comunicar com dispositivos e sensores externos. Possui sinais de ônibus independentes com cada capacidade de barramento de controlar 3 dispositivos escravos.

A maioria das placas ESP32 vem com pinos SPI pré -projetados para SPI2 e SPI3. No entanto, se não for atribuído, sempre podemos atribuir pinos SPI no código. A seguir, estão os pinos SPI encontrados na maioria da placa ESP32, que é pré -projetada:

Interface SPI Mosi MISSÔ Sclk Cs
VSPI GPIO 23 GPIO 19 GPIO 18 GPIO 5
Hspi GPIO 13 GPIO 12 GPIO 14 GPIO 15

Os pinos SPI acima mencionados podem variar dependendo do tipo de placa. Agora vamos escrever um código para verificar os pinos SPI ESP32 usando Arduino IDE.

Para um tutorial completo sobre interface periférica em série, clique aqui.

7: pinos i2c

A placa ESP32 vem com um único barramento i2c que suporta até 120 dispositivos I2C. Por padrão, dois pinos SPI para SDA e SCL são definidos no GPIO 21 e 22, respectivamente. No entanto, usando o comando arame.BEGIN (SDA, SCL) Podemos configurar qualquer gpio como uma interface i2c.

A seguir, dois pinos GPIO são, por padrão, conjunto para i2C:

  • GPIO21 - SDA (pino de dados)
  • GPIO22 - SCL (pino de sincronização do relógio)

8: I2s pinos

I2S (Inter-IC Sound) é um protocolo de comunicação síncrona que transmite sinais de áudio entre dois dispositivos de áudio digital em série.

O ESP32 possui dois periféricos I2s, cada um deles opera no modo de comunicação meio duplex, mas também podemos combiná -los para operar no modo duplex completo.

Normalmente, os dois pinos DAC no ESP32 são usados ​​para a comunicação de áudio I2S. A seguir estão os pinos I2s no ESP32:

  • GPIO 26 - Relógio em série (SCK)
  • GPIO 25 - Word Select (WS)

Para pinos de dados seriais i2s (SD), podemos configurar qualquer pino GPIO.

9: UART

Por padrão, o ESP32 possui três interfaces UART que são UART0, UART1 e UART2. Tanto o UART0 quanto o UART2 são utilizáveis ​​externamente, no entanto, o UART1 não está disponível para interface externo e comunicação porque está conectado internamente à memória flash spi integrada.

  • Uart0 é por padrão no gpio1 (tx0) e gpio3 (rx0) de esp32. Este pino está conectado internamente ao conversor USB para serial e é usado pelo ESP32 para comunicação serial via porta USB. Caso se usarmos pinos uart0, não seremos não poder nos comunicar com o PC. Portanto, não é recomendável usar pinos UART0 externamente.
  • O UART2, por outro lado, não está conectado internamente ao conversor USB para serial, o que significa que podemos usá-lo para interface externo para comunicação UART entre dispositivos e sensores.
  • UART1, como mencionado anteriormente está conectado internamente com a memória flash, então não use o pino GPIO 9 e 10 para comunicação externa do UART.

Observação: O chip ESP32 possui capacidade multiplexadora, o que significa que diferentes pinos também podem ser usados ​​para comunicações, como podemos configurar qualquer pino GPIO no ESP32 para a comunicação UART1, definindo -o dentro do código Arduino.

A seguir estão os pinos UART do ESP32:

UART BUS Rx Tx Descrição
Uart0 GPIO 3 GPIO 1 Pode ser usado, mas não recomendado, porque internamente conectado ao conversor USB para serial
Uart1 GPIO 9 GPIO 10 Não use conectado à memória flash spi sp32 flash
Uart2 GPIO 16 GPIO 17 Permitido usar

10: pinos de toque capacitivos

O ESP32 possui 10 pinos GPIO que têm suporte embutido para sensores de toque capacitivos. Usando esses pinos, qualquer alteração na carga elétrica pode ser detectada. Esses pinos atuam como um touch pad, como a entrada de um dedo humano ou qualquer outra interrupção de toque causada.

Usando esses pinos, também podemos projetar uma fonte de despertar externa para ESP32 do modo de suspensão profundo.

Os pinos de toque incluem:

  • Touch_0 (gpio4)
  • Touch_1 (gpio0)
  • Touch_2 (gpio2)
  • Touch_3 (gpio15)
  • Touch_4 (gpio13)
  • Touch_5 (gpio12)
  • Touch_6 (gpio14)
  • Touch_7 (gpio27)
  • Touch_8 (gpio33)
  • Touch_9 (gpio32)

A seguir, estão os pinos do sensor de toque na placa ESP32:

Touch_1 PIN está ausente nesta versão da placa ESP32 (30 pinos). Touch_1 PIN está em (Gpio0) que está presente no ESP32 de 36 pinos.

Aqui está um tutorial sobre o sensor de toque capacitivo ESP32 com Arduino IDE.

11: Esp32 pinos de amarração

O ESP32 possui pinos de amarração que podem colocar o ESP32 em diferentes modos como bootloader ou modo de flash. Na maioria das placas que apresentam o incorporado em USB-serial, não precisamos nos preocupar com esses pinos, pois a placa coloca o ESP32 no modo correto, piscando ou modo de inicialização.

No entanto, caso esses pinos estejam sob uso, pode -se encontrar problemas no upload de novos código, firmware piscando ou redefinir a placa ESP32.

Abaixo estão os pinos de amarração do ESP32 disponíveis:

  • GPIO 0 (deve ser baixo para entrar no modo de inicialização)
  • GPIO 2 (deve estar flutuando ou baixo durante a inicialização)
  • GPIO 4
  • GPIO 5 (deve estar alto durante a inicialização)
  • GPIO 12 (deve estar baixo durante a inicialização)
  • GPIO 15 (deve estar alto durante a inicialização)

12: pinos altos na bota

Alguns pinos GPIO mostram comportamento inesperado quando saídas conectadas a esses pinos porque esses pinos mostram um estado alto ou geram um sinal PWM depois que a placa ESP32 é inicializada ou redefinida.

Esses pinos são:

  • GPIO 1
  • GPIO 3
  • GPIO 5
  • GPIO 6 a GPIO 11 (interface com o SPI interno do ESP32- Não use esses pinos para nenhum outro propósito).
  • GPIO 14
  • GPIO 15

13: Ativar (pt) pino

Este pino é usado para ativar a placa ESP32. Usando isso, podemos controlar o regulador de tensão ESP32. Este alfine.

Ao conectar o pino EN (Ativar) ao GND, o 3.3V a bordo do regulador de tensão desativa esse significado que podemos usar um botão externo para reiniciar o ESP32, se necessário.

14: Esp32 pinos de potência

Esp32 tem múltiplas fontes de entrada de energia. Principalmente dois pinos podem ser usados ​​para alimentar Esp32, que incluem o pino VIN (VIN) e o 3V3 (3.3V) pino. A principal fonte de alimentação do ESP32 é usar o cabo USB. As outras duas fontes exigiam suprimento regulado externo.

O ESP32 tem um bordo regulador de voltagem da saída 3.3V, que recebe a entrada de duas fontes USB e o pino VN depois que converte a tensão de entrada (5V) para 3.3V para ESP32 funcionando.

A seguir estão as três fontes de energia para o ESP32:

  • Porta USB: só pode dar poder de entrada para ESP32
  • PIN VN: Funciona a entrada de dupla maneira, bem como a saída
  • 3v3 PIN: Funciona a entrada de dupla maneira e a saída

Observação: 3v3 pino de ESP32 não está conectado ao regulador de tensão a bordo, não é recomendável usá -lo para entrada de energia, porque um pequeno aumento na tensão resultará em um fluxo mais corrente do terminal de saída do regulador de LDO (AMS1117) à entrada, resultando em danos permanentes do regulador de tensão ESP32.

No entanto, se você tem constante 3.Suprimento de 3V então pode ser usado.

Em segundo lugar, não dê mais de 9V ao pino VN, pois o ESP32 só precisa de 3.3V para trabalhar; Todas as tensões restantes serão dissipadas como calor.

Para um guia mais detalhado sobre as fontes de energia ESP32 e os requisitos de tensão, verifique este tutorial sobre como poder ESP32.

15: Sensor de efeito do Hall Esp32

O ESP32 apresenta um sensor de efeito hall embutido usando que podemos detectar mudanças no campo magnético e executar uma saída específica de acordo.

Aqui está um tutorial sobre como usar o Sensor de Efeito do Esp32 construído e imprimir os dados de leitura sobre o monitor serial.

Conclusão

Começando com o ESP32 nunca foi fácil, mas usar este artigo no Pinout ESP32, alguém pode começar com uma placa baseada em IoT em alguns minutos. Aqui, este artigo abrange todos os detalhes sobre a pinagem esp32. Cada pino ESP32 é discutido em detalhes extensos. Para mais tutoriais sobre pinos específicos, verifique outros tutoriais na placa ESP32.