Music

ads header

sábado, 4 de julho de 2026

Tudo sobre ADC no ESP32

0
Tudo sobre ADC no ESP32 - Guia Completo ArcadeMakerBR Academy

O ADC permite que o ESP32 leia sinais analógicos do mundo real. É com ele que você consegue medir potenciômetros, sensores de luz, sensores de gás, sensores de chuva, tensão de bateria e muitos outros sinais variáveis.

🎓 ArcadeMakerBR Academy

ESP32 Essentials • Aula 09
Nível: 🟢 Iniciante
Tempo de leitura: 18 a 25 minutos
Projeto sugerido: leitura de potenciômetro e sensor LDR


O que você vai aprender

  • O que é ADC e por que ele é importante.
  • Diferença entre sinal analógico e digital.
  • Como o ESP32 converte tensão em número.
  • O que são ADC1 e ADC2.
  • Por que o ADC2 pode causar problemas quando o Wi-Fi está ativo.
  • Como usar analogRead().
  • Como melhorar leituras com média e filtragem simples.
  • Quais erros comuns evitar.

Índice

  1. Por que ADC é importante?
  2. Sinal analógico vs sinal digital
  3. O que é ADC?
  4. Resolução do ADC
  5. ADC1 e ADC2 no ESP32
  6. Atenuação
  7. Código: leitura analógica
  8. Sensores analógicos comuns
  9. Como melhorar leituras
  10. FAQ

Por que ADC é importante?

Até agora, quando falamos de GPIO, vimos sinais digitais: ligado ou desligado, HIGH ou LOW, 0 ou 1. Isso é ótimo para botões, relés, sensores digitais e LEDs.

Mas muitos sinais do mundo real não funcionam apenas como ligado e desligado. A luz de um ambiente pode variar aos poucos. A tensão de uma bateria pode diminuir gradualmente. Um potenciômetro pode estar em qualquer posição. Um sensor de gás pode produzir uma saída proporcional à concentração detectada.

Para ler esse tipo de informação, o ESP32 precisa transformar um valor analógico em um número digital. É exatamente isso que o ADC faz.

Dica do Maker: se GPIO é o alfabeto do ESP32, o ADC é uma das formas de o ESP32 “sentir” o mundo ao redor.

Sinal analógico vs sinal digital

Um sinal digital tem estados bem definidos. Por exemplo, LOW ou HIGH. Já um sinal analógico pode assumir vários valores dentro de uma faixa.

Um botão é digital: ou está pressionado ou está solto. Um potenciômetro é analógico: ele pode estar em 10%, 25%, 50%, 80% ou qualquer posição intermediária.

Sinal analógico vs sinal digital Analógico: varia continuamente Digital: LOW ou HIGH
O ADC transforma sinais analógicos em valores digitais que o programa consegue usar.

O que é ADC?

ADC significa Analog-to-Digital Converter, ou conversor analógico para digital.

Ele mede uma tensão em um pino e converte essa tensão em um número. Esse número pode ser usado no código para tomar decisões.

  • Se a leitura do LDR estiver baixa, acender uma luz.
  • Se a leitura da bateria estiver baixa, enviar alerta.
  • Se o potenciômetro estiver acima de 80%, aumentar velocidade de um motor.
  • Se o sensor de chuva detectar água, fechar uma janela automatizada.

No Arduino IDE, normalmente usamos analogRead() para fazer essa leitura.

Resolução do ADC

A resolução indica quantos níveis diferentes o ADC consegue representar.

Em muitos exemplos com ESP32, a leitura vai de 0 a 4095, o que corresponde a uma resolução de 12 bits.

  • 0: tensão próxima de 0V.
  • 4095: tensão próxima do limite configurado.
  • Valores intermediários: tensões intermediárias.

Se você ligar um potenciômetro entre 3.3V e GND, com o pino central no ADC, ao girar o potenciômetro a leitura deve variar entre valores próximos de 0 e 4095.

Atenção: o ADC do ESP32 não deve receber tensão acima do permitido pelo pino. Na dúvida, mantenha os sinais entre 0V e 3.3V e use divisor de tensão quando necessário.

ADC1 e ADC2 no ESP32

O ESP32 possui grupos de canais ADC. De forma simplificada, é comum falar em ADC1 e ADC2.

Um detalhe importante: em muitas situações, o ADC2 pode ter conflito com o Wi-Fi. Isso significa que, se o Wi-Fi estiver ativo, leituras em canais ADC2 podem não funcionar como você espera.

Por isso, para projetos com Wi-Fi, MQTT, HTTP, Home Assistant ou web server, normalmente é mais seguro usar pinos associados ao ADC1.

Grupo Uso recomendado Observação
ADC1 Projetos com Wi-Fi ativo Mais seguro para sensores em projetos IoT.
ADC2 Projetos sem Wi-Fi ou casos específicos Pode gerar conflito quando o Wi-Fi está em uso.

O que é atenuação?

A atenuação altera a faixa de tensão que o ADC consegue medir. Em termos simples, ela ajusta a sensibilidade da entrada analógica.

No ESP32, é comum encontrar configurações de atenuação como 0 dB, 2.5 dB, 6 dB e 11 dB. Para iniciantes, o mais importante é entender que a escolha da atenuação influencia a faixa de tensão medida.

Em muitos projetos simples com Arduino IDE, você pode começar usando analogRead() sem mexer em configurações avançadas. Mas quando precisar de leituras mais consistentes, vale estudar a atenuação e a calibração.

Código exemplo: ler um potenciômetro

O exemplo abaixo lê um potenciômetro ligado a um pino analógico do ESP32 e mostra o valor no Serial Monitor.

// Exemplo: Leitura ADC com ESP32
// ArcadeMakerBR Academy

#define POT_PIN 34

void setup() {
  Serial.begin(115200);
}

void loop() {
  int leitura = analogRead(POT_PIN);

  Serial.print("Leitura ADC: ");
  Serial.println(leitura);

  delay(300);
}

Ligação básica do potenciômetro

  • Uma extremidade no 3.3V.
  • Outra extremidade no GND.
  • Pino central no GPIO analógico.

Ao girar o potenciômetro, o valor lido deve mudar gradualmente.

Convertendo leitura para tensão

Se estiver usando uma leitura de 0 a 4095 e uma referência aproximada de 3.3V, você pode estimar a tensão assim:

float tensao = leitura * (3.3 / 4095.0);

Esse cálculo dá uma noção útil, mas não deve ser tratado como medição de alta precisão. O ADC do ESP32 pode exigir calibração para resultados mais exatos.

Sensores analógicos comuns

O ADC abre caminho para vários sensores e módulos muito usados em projetos maker.

Potenciômetro

Ótimo para testes. Permite simular uma entrada variável de forma simples.

LDR

Sensor de luz. Normalmente usado com resistor formando divisor de tensão.

Sensor de chuva

Muitos módulos possuem saída analógica e digital. A saída analógica permite medir intensidade aproximada.

Sensor MQ-2

Sensor de gás/fumaça muito usado em projetos didáticos. A saída analógica varia conforme a leitura do sensor.

Leitura de bateria

Para medir tensão de bateria acima de 3.3V, é necessário usar divisor de tensão adequado para proteger o pino do ESP32.

Dica do Maker: nunca ligue uma bateria diretamente ao ADC se a tensão puder ultrapassar 3.3V. Use divisor de tensão.

Divisor de tensão

Um divisor de tensão usa dois resistores para reduzir uma tensão maior para uma faixa segura.

Isso é muito usado para medir baterias Li-Ion, fontes ou sinais que passam de 3.3V.

Divisor de tensão para ADC R1 R2 Vin GND ESP32 Pino ADC
O divisor reduz a tensão antes de chegar ao pino ADC do ESP32.

Como melhorar leituras do ADC

Leituras analógicas podem variar um pouco. Isso é normal. Ruído elétrico, fios longos, fonte instável, sensor barato ou protoboard podem causar pequenas oscilações.

Use média de leituras

Uma forma simples de suavizar o valor é tirar várias leituras e calcular a média.

// Média simples de leituras ADC

#define ADC_PIN 34

int lerMediaADC(int pino, int amostras) {
  long soma = 0;

  for (int i = 0; i < amostras; i++) {
    soma += analogRead(pino);
    delay(5);
  }

  return soma / amostras;
}

void setup() {
  Serial.begin(115200);
}

void loop() {
  int valor = lerMediaADC(ADC_PIN, 20);

  Serial.print("Media ADC: ");
  Serial.println(valor);

  delay(500);
}

Boas práticas

  • Use GND comum entre sensores e ESP32.
  • Evite fios muito longos para sinais analógicos.
  • Use capacitores pequenos quando necessário para suavizar ruído.
  • Faça calibração se precisar de precisão.
  • Prefira ADC1 em projetos com Wi-Fi.

ADC é preciso?

O ADC do ESP32 é muito útil, mas não deve ser tratado como instrumento de medição profissional sem calibração.

Para muitos projetos maker, ele é suficiente. Para medições mais críticas, pode ser necessário usar calibração, circuito adequado ou até um ADC externo de maior precisão.

Projeto Maker: medidor de luminosidade

Um projeto simples para praticar ADC é criar um medidor de luminosidade com LDR.

  1. Ligar um LDR com resistor formando divisor de tensão.
  2. Ler o valor usando analogRead().
  3. Mostrar no Serial Monitor.
  4. Acender um LED quando o ambiente estiver escuro.
  5. Depois evoluir para enviar o valor via MQTT.

Erros comuns com ADC no ESP32

1. Aplicar tensão acima de 3.3V

Esse erro pode danificar o ESP32. Sempre proteja o pino quando medir tensões maiores.

2. Usar ADC2 com Wi-Fi ativo

Em muitos casos, ADC2 pode entrar em conflito com Wi-Fi. Para projetos IoT, prefira ADC1.

3. Esperar precisão perfeita

O ADC interno é útil, mas pode exigir calibração. Para medições críticas, considere ADC externo.

4. Não usar divisor de tensão

Ao medir bateria ou sinais maiores, o divisor de tensão é essencial.

5. Ler sensor analógico com fio longo

Fios longos podem captar ruído. Mantenha o circuito organizado e teste com calma.

FAQ sobre ADC no ESP32

O que significa ADC?

ADC significa Analog-to-Digital Converter, ou conversor analógico para digital.

Qual valor o analogRead retorna no ESP32?

Em muitos exemplos, retorna valores entre 0 e 4095, correspondendo à resolução de 12 bits.

Posso medir 5V diretamente no ADC?

Não. Use divisor de tensão ou circuito adequado para reduzir a tensão para uma faixa segura.

Posso usar ADC com Wi-Fi?

Sim, mas prefira canais ADC1. O ADC2 pode ter conflito com Wi-Fi em várias situações.

O ADC do ESP32 é preciso?

É útil para muitos projetos maker, mas pode não ser ideal para medições de alta precisão sem calibração.

Resumo final

O ADC é o recurso que permite ao ESP32 ler sinais variáveis do mundo real. Com ele, você consegue medir luz, posição, tensão, sensores de gás, sensores de chuva e muito mais.

Para iniciantes, o melhor caminho é começar com um potenciômetro, depois testar LDR, sensor de chuva e leitura de bateria com divisor de tensão. Com o tempo, você pode evoluir para filtragem, calibração e sensores mais precisos.

Dominar ADC abre portas para projetos de monitoramento, automação, robótica, IoT e sistemas alimentados por bateria.


📚 Continue aprendendo

  • Tudo sobre ESP32
  • Tudo sobre GPIO no ESP32
  • Tudo sobre PWM no ESP32
  • Tudo sobre DAC no ESP32
  • Tudo sobre Wi-Fi no ESP32

Kit de publicação

Título SEO: Tudo sobre ADC no ESP32 – Guia Completo para Iniciantes

Slug: tudo-sobre-adc-esp32

Meta Description: Aprenda tudo sobre ADC no ESP32: leitura analógica, resolução, ADC1, ADC2, atenuação, sensores, potenciômetro, LDR e exemplos práticos.

Tags: ESP32, ADC, ESP32 ADC, Arduino, Arduino IDE, Leitura Analógica, Sensores Analógicos, Potenciômetro, LDR, MQ2, Sensor de Chuva, Eletrônica, IoT, Maker, Microcontroladores, Automação

Categoria: ESP32 Academy

ALT da capa: Tudo sobre ADC no ESP32 - Guia Completo ArcadeMakerBR Academy

Author Image
AboutAlexandre Paixao

Soratemplates is a blogger resources site is a provider of high quality blogger template with premium looking layout and robust design

Nenhum comentário:

Postar um comentário