Índice:

ESP32: Detalhes internos e pinagem: 11 etapas
ESP32: Detalhes internos e pinagem: 11 etapas

Vídeo: ESP32: Detalhes internos e pinagem: 11 etapas

Vídeo: ESP32: Detalhes internos e pinagem: 11 etapas
Vídeo: ESP32: Detalhes internos e pinagem - Pt2 2024, Novembro
Anonim
Image
Image

Neste artigo, falaremos sobre os detalhes internos e a fixação do ESP32. Vou mostrar como identificar corretamente os pinos olhando a ficha técnica, como identificar qual dos pinos funciona como uma SAÍDA / ENTRADA, como ter uma visão geral sobre os sensores e periféricos que o ESP32 nos oferece, além dos Bota. Portanto, acredito que, com o vídeo abaixo, poderei responder a várias perguntas que tenho recebido em mensagens e comentários sobre as referências do ESP32, entre outras informações.

Etapa 1: NodeMCU ESP-WROOM-32

ESP-WROOM-32
ESP-WROOM-32

Aqui temos o PINOUT do

WROOM-32 que serve como uma boa referência para quando você programar. É importante atentar para General Purpose Input / Output (GPIOs), ou seja, portas de entrada e saída de dados programáveis, que ainda podem ser um conversor AD ou um Touch pin, como o GPIO4, por exemplo. Isso também ocorre com o Arduino, onde os pinos de entrada e saída também podem ser PWM.

Etapa 2: ESP-WROOM-32

Na imagem acima, temos o próprio ESP32. Existem vários tipos de pastilhas com características diferentes de acordo com o fabricante.

Etapa 3: Mas, qual é a pinagem correta para eu usar no meu ESP32?

Mas, qual é a pinagem correta para eu usar no meu ESP32?
Mas, qual é a pinagem correta para eu usar no meu ESP32?
Mas, qual é a pinagem correta para eu usar no meu ESP32?
Mas, qual é a pinagem correta para eu usar no meu ESP32?
Mas, qual é a pinagem correta para eu usar no meu ESP32?
Mas, qual é a pinagem correta para eu usar no meu ESP32?
Mas, qual é a pinagem correta para eu usar no meu ESP32?
Mas, qual é a pinagem correta para eu usar no meu ESP32?

ESP32 não é difícil. É tão fácil que podemos dizer que não existe uma preocupação didática em seu ambiente. No entanto, precisamos ser didáticos, sim. Se você quiser programar em Assembler, tudo bem. Porém, o tempo de engenharia é caro. Então, se tudo que é fornecedor de tecnologia lhe dá uma ferramenta que leva tempo para entender seu funcionamento, isso pode facilmente se tornar um problema para você, pois tudo isso vai aumentar o tempo de engenharia, enquanto o produto vai ficando cada vez mais caro. Isso explica minha preferência por coisas fáceis, aquelas que podem tornar nosso dia a dia mais fácil, porque o tempo é importante, especialmente no mundo agitado de hoje.

Voltando ao ESP32, em ficha técnica, como na anterior, temos a identificação correta dos pinos nos destaques. Muitas vezes, a etiqueta do chip não corresponde ao número real do pino, pois temos três situações: o GPIO, o número de série e também o código do próprio cartão.

Conforme mostrado no exemplo abaixo, temos uma conexão de um LED no ESP e o modo correto de configuração:

Observe que o rótulo é TX2, mas devemos seguir a correta identificação, conforme destacado na imagem anterior. Portanto, a identificação correta do pino será 17. A imagem mostra o quão próximo o código deve ficar.

Etapa 4: ENTRADA / SAÍDA

ENTRADA / SAÍDA
ENTRADA / SAÍDA

Ao realizar os testes INPUT e OUTPUT nos pinos, obtivemos os seguintes resultados:

INPUT não funcionou apenas no GPIO0.

OUTPUT não funcionou apenas nos pinos GPIO34 e GPIO35, que são VDET1 e VDET2, respectivamente.

* Os pinos VDET pertencem ao domínio de potência do RTC. Isso significa que eles podem ser usados como pinos ADC e que o coprocessador ULP pode lê-los. Eles podem ser apenas entradas e nunca saídas.

Etapa 5: Diagrama de blocos

Diagrama de bloco
Diagrama de bloco

Este diagrama mostra que o ESP32 tem dual core, uma área de chip que controla o WiFi e outra área que controla o Bluetooth. Possui também aceleração de hardware para criptografia, que permite a conexão à LoRa, uma rede de longa distância que permite uma conexão de até 15km, usando uma antena. Observamos também o gerador de relógio, relógio de tempo real e outros pontos envolvendo, por exemplo, PWM, ADC, DAC, UART, SDIO, SPI, entre outros. Tudo isso torna o dispositivo bastante completo e funcional.

Etapa 6: Periféricos e Sensores

Periféricos e Sensores
Periféricos e Sensores

O ESP32 tem 34 GPIOs que podem ser atribuídos a várias funções, como:

Apenas digital;

Ativado para analógico (pode ser configurado como digital);

Habilitado para toque capacitivo (pode ser configurado como digital);

E outros.

É importante observar que a maioria dos GPIOs digitais podem ser configurados como pull-up ou pull-down interno ou configurados para alta impedância. Quando definido como entrada, o valor pode ser lido por meio do registro.

Etapa 7: GPIO

Conversor Analógico para Digital (ADC)

O Esp32 integra ADCs de 12 bits e suporta medições em 18 canais (pinos habilitados para analógico). O coprocessador ULP no ESP32 também foi projetado para medir tensões durante a operação em modo de espera, o que permite baixo consumo de energia. A CPU pode ser despertada por uma configuração de limite e / ou por meio de outros gatilhos.

Conversor digital para analógico (DAC)

Dois canais DAC de 8 bits podem ser usados para converter dois sinais digitais em duas saídas de tensão analógicas. Esses DACs duplos suportam a fonte de alimentação como uma referência de tensão de entrada e podem acionar outros circuitos. Os canais duplos suportam conversões independentes.

Etapa 8: Sensores

Sensores
Sensores
Sensores
Sensores

Sensor de toque

O ESP32 tem 10 GPIOs de detecção capacitiva que detectam variações induzidas ao tocar ou se aproximar de um GPIO com um dedo ou outros objetos.

O ESP32 também possui um Sensor de Temperatura e um Sensor Hall Interno, mas para trabalhar com eles, é necessário alterar as configurações dos registros. Para mais detalhes, consulte o manual técnico no link:

www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf

Etapa 9: Watchdog

O ESP32 tem três temporizadores de vigilância: um em cada um dos dois módulos de temporizador (denominado Temporizador Watchdog Primário ou MWDT) e um no módulo RTC (denominado Temporizador Watchdog RTC ou RWDT).

Etapa 10: Bluetooth

Bluetooth
Bluetooth
Bluetooth
Bluetooth

Interface Bluetooth v 4.2 BR / EDR e Bluetooth LE (baixa energia)

O ESP32 integra um controlador de conexão Bluetooth e banda base Bluetooth, que executa protocolos de banda base e outras rotinas de link de baixo nível, como modulação / demodulação, processamento de pacotes, processamento de fluxo de bits, salto de frequência, etc.

O controlador de conexão opera em três estados principais: espera, conexão e detecção. Ele permite várias conexões e outras operações, como consulta, página e emparelhamento simples seguro e, portanto, permite Piconet e Scatternet.

Etapa 11: inicializar

Bota
Bota
Bota
Bota

Em muitas placas de desenvolvimento com USB / Serial embutido, esptool.py pode redefinir automaticamente a placa para o modo de inicialização.

ESP32 entrará no carregador de inicialização serial quando o GPIO0 for mantido baixo na reinicialização. Caso contrário, ele executará o programa em flash.

GPIO0 tem um resistor pullup interno, então se ele estiver sem uma conexão, ele irá alto.

Muitas placas usam um botão rotulado "Flash" (ou "BOOT" em algumas placas de desenvolvimento Espressif) que leva o GPIO0 para baixo quando pressionado.

GPIO2 também deve ser deixado desconectado / flutuando.

Na imagem acima, você pode ver um teste que realizei. Coloquei o osciloscópio em todos os pinos do ESP para ver o que acontecia quando ele era ligado. Descobri que quando recebo um pino, ele gera oscilações de 750 microssegundos, conforme mostrado na área destacada do lado direito. O que podemos fazer sobre isso? Temos várias opções, como dar um delay com um circuito com um transistor, um expansor de porta, por exemplo. Eu aponto que GPIO08 está invertido. A oscilação sai para cima e não para baixo.

Outro detalhe é que temos alguns pinos que começam em alto e outros em baixo. Portanto, este PINOUT é uma referência para quando o ESP32 liga, especialmente quando você está trabalhando com uma carga para acionar, por exemplo, um triac, um relé, um contator ou alguma potência.

Recomendado: