Este guia de pinagem para ESP32 contém o seguinte conteúdo:
1: Introdução ao ESP32
2: Esp32 GPIO pinos
3: Esp32 pinos ADC
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
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:
*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:
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:
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.
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 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.
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:
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:
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:
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.
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:
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:
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:
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:
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.