ESP32 - medir tensão
Neste guia, vamos aprender como medir tensões de 0V a 16,5V usando um sensor de tensão com um ESP32. Vamos explicar os passos em detalhes.
- Conectar um sensor de tensão ao ESP32
- Programar o ESP32 para medir a tensão do sensor

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables ESP32 S3 Starter Kit (ESP32 S3 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Tensão
Um Sensor de Tensão é um circuito divisor de tensão pronto que usa resistores específicos para facilitar a medição de tensão. Ele tem dois resistores: um de 30 KΩ e outro de 7,5 KΩ. Se o ADC tem uma tensão de referência de 5V, o sensor pode medir tensões de 0 a 25V DC. Quando a tensão de referência do ADC é 3,3V, ele pode medir tensões de 0 a 16,5V DC.
Pinagem
Um sensor de tensão vem com dois tipos de pinos:
- Interface de Entrada (conecte onde você quer medir a tensão):
- Pino VCC: Conecte este pino positivo ao ponto de tensão mais alta.
- Pino GND: Conecte este pino negativo ao ponto de tensão mais baixa.
- Interface de Saída (conecte ao ESP32):
- Pino Vout (S): Conecte este pino de sinal a um pino analógico do ESP32.
- Pino NC (+): Não conecte este pino; ele não é usado.
- Pino GND (-): Conecte este pino de terra ao GND (0V) do ESP32.

Diagrama de Ligação

This image is created using Fritzing. Click to enlarge image
Se você não sabe como alimentar o ESP32 e outros componentes, veja as instruções no tutorial a seguir: Como alimentar o ESP32.
Código ESP32
Passos Rápidos
- Se esta é a primeira vez que você usa o ESP32, veja como configurar o ambiente do ESP32 no Arduino IDE.
- Conecte o ESP32 ao sensor de tensão.
- Conecte a placa ESP32 ao seu PC por um cabo USB
- Abra o Arduino IDE no seu PC.
- Selecione a placa ESP32 correta (por exemplo, ESP32 Dev Module) e a porta COM.
- Copie e cole o código acima no Arduino IDE.
- Pressione o botão Upload no Arduino IDE para compilar e carregar o código no ESP32.
- Teste medindo 5V e 3,3V no ESP32.
- Confira as leituras no Serial Monitor.
Você pode notar que o resultado da medição está incorreto ou bem diferente do valor real. Não culpe o módulo sensor de tensão por isso. O código usa a função analogRead() para ler valores de um ADC (Conversor Analógico-Digital) conectado a um sensor de tensão. O ADC do ESP32 é adequado para projetos que não exigem alta precisão. No entanto, para projetos que precisam de medições precisas, observe:
- O ADC do ESP32 não é perfeitamente preciso e pode precisar de calibração para resultados corretos. Cada placa ESP32 pode variar um pouco, então a calibração é necessária para cada placa individualmente.
- A calibração pode ser difícil, especialmente para iniciantes, e nem sempre fornece os resultados exatos que você quer.
Para projetos que exigem alta precisão, considere usar um ADC externo (por exemplo, o ADS1115) com o ESP32 ou um Arduino, que tem um ADC mais confiável. Se você ainda quiser calibrar o ADC do ESP32, consulte o ESP32 ADC Calibration Driver.