Trilha de aprendizado · Nível 11 · Tutorial 3

Leitura de tensão com o ADC do Arduino Uno

Ao concluir, o aluno será capaz de adquirir uma tensão de um divisor resistivo em seu Uno R3, apresentar a leitura pela UART e verificar os efeitos da referência e da impedância da fonte.

  • Nível: Intermediário
  • Duração: 20 min
  • 8 passos
Leitura de tensão com o ADC do Arduino Uno

O que você vai percorrer

  1. Identifique a entrada e os limites da leitura Reconheça A0, a referência DEFAULT e as condições elétricas que tornam a leitura segura. 2 min
  2. Monte o divisor conectado a A0 Monte com segurança um divisor de baixa impedância entre 5 V e GND e conecte seu nó central à entrada A0. 3 min
  3. Leia o código bruto no monitor serial 2 min
  4. Converta o código em tensão estimada Converta a leitura bruta do ADC em uma estimativa de tensão com a escala e os tipos numéricos corretos. 2 min
  5. Confira a referência e compare as tensões Compare a estimativa do ADC com uma medição local ou com dados ilustrativos e ajuste a referência usada no cálculo sem alterar a configuração DEFAULT. 3 min
  6. Entenda o efeito da impedância da fonte Entenda como o multiplexador e o capacitor interno tornam a impedância da fonte relevante para a leitura analógica. 3 min
  7. Compare leituras após a troca de canal 3 min
  8. Valide a leitura de ponta a ponta Conclua uma leitura documentada, ligando montagem, código, referência, cálculo e interpretação prudente. 2 min

O que você vai aprender

  • Conectar uma fonte de sinal resistiva dentro da faixa permitida da entrada analógica.
  • Obter códigos com analogRead e convertê-los para uma estimativa de tensão.
  • Comparar a estimativa com uma medição própria ou com valores apresentados no tutorial.
  • Explicar por que alta impedância e mudanças de canal podem alterar a leitura.

Antes de começar

  • Conversão analógico-digital: referência e quantização
  • Comunicação UART pelo monitor serial
  • Divisores de tensão e efeito da carga
  • Medição de tensão contínua entre dois pontos
  • Funções com parâmetros e retorno

Passo 1 de 8

Identifique a entrada e os limites da leitura

Reconheça A0, a referência DEFAULT e as condições elétricas que tornam a leitura segura.

Localize os pinos da aquisição

A entrada usada nesta prática

Nesta prática, a entrada analógica será a A0 do Arduino Uno R3. Ela integra o conjunto A0 a A5, na fileira de conectores analógicos da placa.

O Uno R3 usa o ATmega328P. Quando um programa chama analogRead(A0), solicita uma conversão e recebe um código inteiro de 0 a 1023. São 10 bits, ou seja, 1024 níveis possíveis.

Por enquanto, identifique A0 como o ponto onde chegará o sinal do divisor resistivo montado no próximo passo.

Onde ficam A0, GND e AREF

Localize na sua placa A0, GND e AREF antes de montar qualquer circuito.

Diagrama técnico de uma placa compatível com Uno R3, com A0 destacado e pinos GND e AREF claramente identificados.

Use A0 para o sinal, GND como referência comum e mantenha AREF sem conexão nesta prática.

Entenda DEFAULT e a faixa de leitura

DEFAULT não significa 5,000 V exatos

A referência selecionada será a padrão do Arduino: DEFAULT. No Uno, ela está associada à alimentação analógica AVcc, normalmente próxima da alimentação de 5 V da placa.

“Próxima de 5 V” não significa necessariamente 5,000 V. A alimentação fornecida pelo USB e as quedas nos caminhos da placa podem fazer o valor real diferir do nominal. Neste momento, trate 5 V como uma referência nominal; mais adiante, você comparará o cálculo com uma medição.

Faixa de leitura com DEFAULT

Com DEFAULT, o código indica a posição do sinal entre GND e a referência associada à alimentação analógica real da placa.

Esquema de A0 entre GND e AVcc, com escala de código de 0 a 1023 e AREF sem conexão.

O limite superior da conversão acompanha AVcc; não é um valor ideal fixo de 5 V.

Atenção

Código no limite não é proteção

A saturação do resultado não protege o pino. Um código próximo de 0 ou 1023 apenas indica que a tensão chegou a um extremo da faixa de conversão. Isso não torna segura uma tensão negativa ou uma tensão acima da alimentação real da placa.

Confira as condições de segurança

Atenção

Condições elétricas da prática

Antes de ligar o USB, confira as condições desta prática:

  • O sinal será criado pela própria placa, usando os pinos 5 V e GND do Uno.
  • A0 deve permanecer entre GND e a alimentação real da placa.
  • Não aplique tensão negativa em A0.
  • Não aplique tensão acima da alimentação da placa em A0.
  • Não deixe uma fonte externa alimentando A0 quando o Uno estiver desligado.
  • Mantenha AREF sem conexão externa.

Faça toda alteração de jumpers ou resistores com o USB desconectado. O divisor será montado no próximo passo.

Dica

Regra prática

A relação correta é simples: A0 recebe uma tensão definida em relação ao GND do Uno e dentro dos trilhos reais de alimentação da própria placa. Nesta atividade inicial, não será usada fonte externa.

Cheque sua decisão

Escolha a conexão segura

Qual conexão está compatível com esta prática usando DEFAULT?

Passo 2 de 8

Monte o divisor conectado a A0

Monte com segurança um divisor de baixa impedância entre 5 V e GND e conecte seu nó central à entrada A0.

Prepare a prática

Materiais e condição inicial

Você vai montar uma fonte de teste definida para A0: um divisor com dois resistores de 4,7 kΩ. Alimentado pelo próprio Uno via USB, ele produzirá no nó central uma tensão próxima da metade da alimentação.

Separe: Uno R3, cabo USB de dados, computador com IDE Arduino, protoboard, jumpers e dois resistores de 4,7 kΩ. Um multímetro é opcional para a comparação posterior.

Faça a montagem e qualquer alteração de fios somente com o USB desconectado.

Materiais da prática

Uno conectado por USB, protoboard, dois resistores iguais, jumpers e um multímetro opcional.

O Uno será alimentado somente pelo cabo USB; o multímetro é opcional.

Monte o nó de leitura

Ligações do divisor

Monte o divisor na protoboard, ainda sem conectar o USB:

  1. Leve o pino 5 V do Uno a uma extremidade do primeiro resistor.
  2. Una a outra extremidade desse resistor a uma extremidade do segundo: esse ponto comum é o nó de leitura.
  3. Leve a outra extremidade do segundo resistor ao pino GND do Uno.
  4. Leve o mesmo nó de leitura ao pino A0.

Os resistores têm o mesmo valor. Portanto, o nó deve ficar próximo da metade da tensão entre 5 V e GND.

Do esquema à protoboard

Esquema e montagem equivalente: dois resistores em série entre 5 V e GND, com o ponto central ligado a A0.

O ponto comum aos dois resistores é o nó de leitura ligado a A0.

Dica

O que esperar da montagem

Com resistores de 4,7 kΩ, a resistência de Thévenin vista por A0 é aproximadamente 2,35 kΩ: 4,7 kΩ em paralelo com 4,7 kΩ. Esta é a condição inicial de baixa impedância da prática.

Não conecte nada ao pino AREF. Deixe os pinos digitais 0 e 1 livres, pois são usados pela comunicação serial via USB.

Atenção

Limites da prática

Não use fonte externa nesta prática nem aplique tensão externa a A0. O sinal do divisor deve permanecer entre GND e a alimentação real da placa. Desconecte o USB antes de reposicionar resistores ou jumpers.

Confira antes de ligar

Monte, confira e energize

Antes da primeira energização, organize as ações abaixo na sequência segura. Considere que o Uno começa desconectado do USB.

Sequência segura

Coloque as etapas na ordem correta.

  1. Confira 5 V no resistor superior, GND no inferior, AREF livre e D0/D1 livres.
  2. Monte o divisor na protoboard com o USB desconectado.
  3. Confirme que A0 está ligado à junção entre os dois resistores.
  4. Conecte o USB para alimentar o Uno.

Antecipe a leitura

Condição inicial confirmada

Se você tiver dois resistores de 470 kΩ, guarde-os para uma comparação posterior. Eles podem formar outro divisor com a mesma razão nominal, mas não devem ser usados agora. Sem esses componentes, você ainda poderá analisar dados ilustrativos nas próximas etapas.

Na condição atual, espere:

  • nó A0 próximo da metade da alimentação;
  • resistência equivalente da fonte próxima de 2,35 kΩ;
  • AREF sem conexão externa.

A seguir, você usará essa montagem para ler o código bruto no Monitor Serial.

Identifique o nó de leitura

Em qual ponto do divisor deve ser ligado o pino A0?

Passo 3 de 8

Leia o código bruto no monitor serial

O que será observado

Do nó de A0 ao monitor serial

O divisor de 4,7 kΩ + 4,7 kΩ montado no passo anterior aplica a A0 uma tensão próxima da metade da alimentação. Agora o objetivo é observar apenas o código bruto retornado pelo ADC.

No Uno R3, analogRead(A0) inicia uma conversão e devolve um int de 0 a 1023. Vamos manter a referência padrão com analogReference(DEFAULT) e enviar esse número pela UART.

A0 deve permanecer como entrada: não habilite pull-up e não o configure como saída. O código abaixo declara isso explicitamente com INPUT.

Diagrama do divisor resistivo ligado a A0, passando pelo ADC interno e chegando ao monitor serial pelo USB.

O ADC transforma a tensão presente em A0 em um código; a UART apenas apresenta esse código no computador.

Programa e saída esperada

Execute a leitura local

Crie um sketch novo, substitua seu conteúdo pelo programa completo e grave-o no Uno. Depois abra o Monitor Serial da IDE e selecione 115200 bit/s. A taxa do monitor deve coincidir com a de Serial.begin.

delay(500) existe somente para deixar os registros legíveis em uma tensão contínua. Ele não define uma estratégia de aquisição de sinais que variam no tempo.

Leitura bruta de A0

Sketch completo para ler A0 e imprimir o código bruto.

cpp
void setup() {
  pinMode(A0, INPUT);
  analogReference(DEFAULT);

  Serial.begin(115200);
}

void loop() {
  int codigo = analogRead(A0);

  Serial.print("Codigo ADC: ");
  Serial.println(codigo);

  delay(500);
}
Saída esperada
Codigo ADC: 510
Codigo ADC: 511
Codigo ADC: 510
Codigo ADC: 512

Os números variam conforme a alimentação, as tolerâncias dos resistores, ruído e a montagem. Para dois resistores iguais, valores próximos de 512 são esperados, mas não há um valor único obrigatório.

Confira seu entendimento

Complete a leitura e a transmissão

Complete as duas partes que fazem a aquisição em A0 e exibem o código no Monitor Serial.

cpp
void loop() {
  int codigo = ;

  Serial.print("Codigo ADC: ");
  Serial.(codigo);

  delay(500);
}

Interprete a faixa observada

Com o divisor de dois resistores de 4,7 kΩ corretamente ligado entre 5 V e GND, qual conjunto é mais coerente no Monitor Serial?

Passo 4 de 8

Converta o código em tensão estimada

Converta a leitura bruta do ADC em uma estimativa de tensão com a escala e os tipos numéricos corretos.

Use 1024 e declare a hipótese

Do código à tensão

O analogRead(A0) entrega um código de 0 a 1023. Para convertê-lo em uma estimativa de tensão no Uno R3, use a convenção:

V_estimado = código × V_ref / 1024

Com a referência padrão (DEFAULT), comece usando V_ref = 5.0 V como hipótese de cálculo. Isso não mede a alimentação real da placa e não altera a referência física usada pelo ADC.

A escala de 1024 níveis

Diagrama de uma faixa de 0 V a Vref dividida em 1024 níveis, com o código 1023 antes do extremo Vref.

Há 1024 níveis possíveis: de 0 a 1023. Por isso o divisor da estimativa é 1024, não 1023.

Dica

Atenção à escala

O maior código é 1023, mas ele não obriga a interpretação de que a entrada vale exatamente V_ref. A fórmula usa 1024 porque esse é o número de níveis de quantização. As casas decimais que aparecerão no monitor serial são apenas uma forma de exibir o cálculo; não representam garantia de exatidão.

Calcule e transmita na mesma linha

Programa completo

Amplie o programa anterior. A expressão abaixo preserva a parte fracionária porque 1024.0 força o cálculo em ponto flutuante. Se fosse usado 5 / 1024 com ambos os valores inteiros, o resultado seria truncado para zero antes da multiplicação.

Código para código bruto e tensão estimada

Substitua o programa anterior por este código e envie-o ao Uno. Abra o Monitor Serial em 115200 bit/s.

cpp
const float V_REF = 5.0;

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

void loop() {
  int codigo = analogRead(A0);
  float tensaoEstimada = codigo * (V_REF / 1024.0);

  Serial.print("Codigo: ");
  Serial.print(codigo);
  Serial.print(" | Tensao estimada: ");
  Serial.print(tensaoEstimada, 3);
  Serial.println(" V");

  delay(500);
}
Saída esperada
Codigo: 511 | Tensao estimada: 2.495 V
Codigo: 512 | Tensao estimada: 2.500 V
Codigo: 511 | Tensao estimada: 2.495 V

Os números variam com a alimentação, os resistores, ruído e a montagem. Em um divisor aproximadamente pela metade da alimentação, o código tende a ficar próximo de 512 e a estimativa próxima de 2,50 V quando V_REF é 5,0 V.

Pratique a expressão correta

Complete a conversão

Complete a expressão que calcula a tensão estimada. Mantenha a conversão em ponto flutuante.

cpp
const float V_REF = 5.0;

int codigo = analogRead(A0);
float tensaoEstimada = codigo * ( / );

Serial.print("Codigo: ");
Serial.print(codigo);
Serial.print(" | Tensao estimada: ");
Serial.print(tensaoEstimada, 3);
Serial.println(" V");

Prepare a comparação

O que foi estabelecido

Neste momento, V_REF = 5.0 é somente a referência assumida para transformar o código em volts. Ela não muda analogReference(DEFAULT), não mede AVcc e não calibra o ADC.

No próximo passo, você comparará a estimativa com uma medição e verá como uma referência de cálculo mais próxima da alimentação real pode afetar o resultado.

Resumo

Resumo

  • Use V_estimado = código × V_ref / 1024.
  • No Uno R3, analogRead retorna códigos de 0 a 1023.
  • Use 1024.0 na expressão para evitar divisão inteira.
  • Exiba código bruto e tensão estimada juntos para facilitar a comparação.
  • Mais casas decimais na tela não significam maior exatidão.

Passo 5 de 8

Confira a referência e compare as tensões

Compare a estimativa do ADC com uma medição local ou com dados ilustrativos e ajuste a referência usada no cálculo sem alterar a configuração DEFAULT.

Meça alimentação e nó de leitura

Meça os dois pontos de comparação

Com o Uno alimentado pelo USB e o divisor ainda ligado, meça em tensão contínua:

  • entre 5 V e GND: uma aproximação prática para AVcc;
  • entre o nó ligado a A0 e GND: a tensão que será comparada com a estimativa.

Deixe AREF sem conexão externa. As pontas do multímetro apenas observam o circuito; não mova jumpers nem altere resistores com o USB conectado.

A tensão no pino 5 V não é uma medição direta perfeita da referência interna do ADC: podem existir diferenças nos caminhos da placa e limites de exatidão do instrumento. Ainda assim, ela costuma ser uma aproximação mais útil do que assumir automaticamente 5,000 V.

Pontos de medição

Esquema de um Uno ligado a um divisor resistivo, com o nó central conectado a A0 e medições entre 5 V e GND e entre A0 e GND.

Meça diferenças de potencial entre 5 V–GND e entre A0–GND.

Dica

Sem multímetro

Se você não tiver multímetro, avance usando os dados ilustrativos da próxima tela. Eles permitem praticar a comparação, mas não representam uma medida da sua montagem.

Analise um conjunto de resultados

Compare a escala usada no cálculo

Considere estes dados ilustrativos de um divisor com dois resistores nominais de 4,7 kΩ. O código vem do ADC; as duas estimativas usam o mesmo código, mas referências de cálculo diferentes.

Dados ilustrativos

Exemplo de comparação entre o valor calculado e uma leitura de multímetro.

A diferença entre estimativa e medida não tem uma causa única.
CódigoRef. assumida5 V medidoEstimativa com 5,0 VEstimativa com 4,86 VNó medido
5115,00 V4,86 V2,495 V2,425 V2,42 V

Dica

Interprete diferenças com prudência

O divisor e a referência DEFAULT usam a mesma alimentação. Portanto, se essa alimentação variar, a tensão do nó também varia em proporção semelhante. O código pode continuar próximo da metade da faixa, mesmo que o nó não meça exatamente 2,500 V.

Pequenas diferenças ou oscilações podem envolver tolerância dos resistores, quantização, ruído, referência e limitações do multímetro. As casas exibidas no cálculo não garantem essa exatidão.

Mude a escala, não a aquisição

Atualize a referência de cálculo

No programa do passo anterior, a única mudança de escala é substituir const float V_REF = 5.0; por uma constante com a tensão medida em 5 V. A chamada analogReference(DEFAULT) continua igual.

O sketch completo abaixo usa os dados ilustrativos: 4.86 V no pino 5 V e código 511. Na sua montagem, substitua 4.86 pela sua medição. Essa mudança recalcula volts após a conversão; não muda fisicamente a referência do ADC nem o código bruto adquirido.

No código C/C++, literais decimais usam ponto: escreva 4.86, não 4,86. A vírgula é usual em textos em pt-BR, mas não representa um decimal válido nesse contexto de código.

Código com referência de cálculo atualizada

Sketch completo e executável. Troque somente 4.86 pela tensão que você mediu entre 5 V e GND.

cpp
const float V_REF = 4.86;

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

void loop() {
  int codigo = analogRead(A0);
  float tensaoEstimada = codigo * (V_REF / 1024.0);

  Serial.print("Codigo: ");
  Serial.print(codigo);
  Serial.print(" | Tensao estimada: ");
  Serial.print(tensaoEstimada, 3);
  Serial.println(" V");

  delay(500);
}
Saída esperada
Codigo: 511 | Tensao estimada: 2.425 V
Codigo: 511 | Tensao estimada: 2.425 V

A saída abaixo corresponde ao caso ilustrativo com código 511 e V_REF igual a 4,86 V. Na sua placa, o código e a tensão podem variar conforme a alimentação, os resistores e a medição.

Diferencie cálculo e configuração

Complete os valores do exemplo ilustrativo: referência de cálculo de 4,86 V e ADC mantido na referência padrão. Atenção: em um literal numérico de C/C++, use 4.86, com ponto.

cpp
const float V_REF = ;

void setup() {
  analogReference();
}

Documente e interprete

Faça seu registro

Registre uma comparação. Se fez a prática, use seus próprios valores; se não, use a linha ilustrativa apresentada. Indique claramente a origem dos dados e explique por que o código não precisa mudar quando você troca 5,0 V pela tensão medida no pino 5 V.

Escreva pelo menos 100 caracteres (0/100).

Atenção

Evite conclusões apressadas

Uma leitura justificável declara a referência adotada e a origem dela. Não trate uma diferença pequena como prova isolada de defeito, nem use um único passo de quantização como limite universal de erro.

Passo 6 de 8

Entenda o efeito da impedância da fonte

Entenda como o multiplexador e o capacitor interno tornam a impedância da fonte relevante para a leitura analógica.

Um caminho de aquisição por vez

Um ADC compartilhado

O Uno R3 tem várias entradas analógicas, mas elas compartilham um único ADC. Antes de converter, um multiplexador conecta apenas o canal selecionado — por exemplo, A0 ou A1 — ao caminho interno de aquisição.

Portanto, A0 e A1 não são adquiridos simultaneamente. Ao mudar de canal, o ADC passa a observar uma nova fonte de sinal.

Caminho interno simplificado

Diagrama mostrando A0 e A1 chegando a um multiplexador; um único caminho selecionado segue para um capacitor de amostragem e para o ADC.

O multiplexador escolhe um canal por vez; o capacitor interno e o ADC são compartilhados.

Por que a impedância importa

Capacitor e resistência da fonte

Durante um intervalo finito, a fonte ligada ao canal selecionado precisa carregar ou descarregar o capacitor interno de amostragem até uma tensão próxima da tensão do sinal.

Se a resistência equivalente da fonte for baixa, esse ajuste tende a ser rápido. Se for alta, a carga do capacitor pode ser lenta em comparação com o tempo disponível. Nesse caso, a tensão anterior presente no capacitor pode influenciar a conversão do novo canal.

Isso não significa que toda troca de canal produzirá erro visível: o efeito depende das tensões envolvidas, da impedância da fonte e das condições de aquisição.

Comparação entre um capacitor de amostragem alimentado por fonte de baixa resistência, que quase alcança a tensão alvo, e por fonte de alta resistência, que permanece distante dela no mesmo intervalo.

No mesmo tempo de aquisição, uma fonte de maior resistência limita a aproximação do capacitor à nova tensão.

Dica

Como usar a recomendação

A recomendação usual para o ADC do ATmega328P é uma impedância de fonte da ordem de 10 kΩ ou menor, nas condições usuais de operação. O valor relevante é a resistência equivalente que a entrada enxerga — frequentemente a resistência de Thévenin do circuito — e não o valor de um resistor isolado.

A razão não conta toda a história

Mesma tensão ideal, fontes diferentes

Dois divisores com resistores iguais têm a mesma razão de divisão: o nó ideal fica perto de metade da alimentação. Porém, eles não oferecem a mesma impedância à entrada A0.

Divisores em comparação

Comparação de dois divisores alimentados pelo mesmo 5 V do Uno, com resistor superior e inferior de mesmo valor.

A resistência de Thévenin é a resistência vista a partir do nó do divisor, com a fonte ideal considerada desligada.
Resistores do divisorTensão ideal no nóResistência de ThéveninImplicação para o ADC
4,7 kΩ e 4,7 kΩ≈ metade de 5 V≈ 2,35 kΩBaixa impedância; boa condição inicial
470 kΩ e 470 kΩ≈ metade de 5 V≈ 235 kΩImpedância muito maior; aquisição pode ser afetada

Exemplo

A razão do divisor define a tensão ideal. Já a resistência de Thévenin ajuda a determinar quão rapidamente o capacitor interno consegue se acomodar a essa tensão. Assim, dois circuitos com a mesma tensão ideal podem apresentar comportamentos de aquisição diferentes.

Consolide o mecanismo

Verifique a relação causa–efeito

Relacione cada elemento ao seu papel na possível influência entre canais.

Associe os termos às descrições corretas.

Toque em um item e depois no par correspondente.

Passo 7 de 8

Compare leituras após a troca de canal

1. Monte A1 como canal de comparação

Prepare os dois canais

Antes de alterar a montagem, desconecte o USB. Mantenha o divisor em A0 e conecte A1 diretamente ao GND. Depois reconecte o USB.

A1 fornece um canal próximo de 0 V imediatamente antes das leituras de A0. Assim, será possível comparar a primeira leitura de A0 após a troca de canal com a leitura seguinte. Deixe A0 e A1 como entradas: não use pinMode() nem pull-up nesses pinos.

Para a condição inicial, preserve os dois resistores de 4,7 kΩ do divisor. Se você tiver dois resistores de 470 kΩ, poderá substituí-los depois, sempre com o USB desconectado.

Esquema de montagem: divisor entre 5 V e GND com o nó em A0 e A1 ligado diretamente ao GND.

Faça conexões ou trocas de resistores somente com o USB desconectado. AREF continua sem conexão.

Dica

Evite uma carga adicional

Durante o ensaio com resistores de 470 kΩ, retire as pontas do multímetro do nó A0. A resistência de entrada do instrumento também pode carregar o divisor e mudar a condição que você quer observar.

2. Execute a sequência sem mensagens entre leituras

Leia A1 e compare duas conversões de A0

Grave este programa e abra o Monitor Serial em 115200 bit/s. Ele seleciona A1, lê A1 uma vez, faz duas leituras seguidas de A0 e só então transmite os três valores. Não há mensagens entre a0Primeira e a0Segunda.

cpp
void setup() {
  Serial.begin(115200);
  analogReference(DEFAULT);
}

void loop() {
  int a1 = analogRead(A1);
  int a0Primeira = analogRead(A0);
  int a0Segunda = analogRead(A0);

  Serial.print("A1: ");
  Serial.print(a1);
  Serial.print(" | A0 primeira: ");
  Serial.print(a0Primeira);
  Serial.print(" | A0 segunda: ");
  Serial.println(a0Segunda);

  delay(500);
}
Saída esperada
A1: 0 | A0 primeira: 510 | A0 segunda: 511
A1: 1 | A0 primeira: 511 | A0 segunda: 511
A1: 0 | A0 primeira: 510 | A0 segunda: 510

Os números variam conforme a alimentação, os resistores e a montagem. Com o divisor de 4,7 kΩ, as duas leituras de A0 costumam ficar próximas uma da outra e do meio da faixa.

O que comparar

O programa não prova, por si só, um efeito em qualquer montagem. Ele cria uma comparação controlada: após a conversão de A1 perto de 0 V, observe se a primeira conversão de A0 difere da segunda.

Com a fonte de baixa impedância formada pelos resistores de 4,7 kΩ, uma diferença pequena — ou nenhuma diferença perceptível — é um resultado possível.

3. Verifique a ordem das conversões

Pratique a sequência correta

Complete a linha que deve fazer a segunda conversão consecutiva de A0. Ela precisa ocorrer antes de qualquer Serial.print().

Complete o código

Preencha a chamada de função da segunda leitura.

cpp
int a1 = analogRead(A1);
int a0Primeira = analogRead(A0);
int a0Segunda = ;

Serial.print(a0Primeira);
Serial.println(a0Segunda);

4. Compare impedâncias e tire uma conclusão

Analise um caso ilustrativo

Estes são dados ilustrativos, não uma previsão obrigatória da sua placa. Ambos os divisores têm razão próxima de 1/2, mas apresentam resistências equivalentes muito diferentes para a entrada do ADC.

Resultados possíveis

Comparação depois de ler A1 ligado ao GND.

Exemplo didático: uma diferença maior pode aparecer com fonte de alta impedância, mas não é garantida em toda montagem.
DivisorR de ThéveninA0 primeiraA0 segunda
4,7 kΩ e 4,7 kΩ2,35 kΩ511511
470 kΩ e 470 kΩ235 kΩ438503

Atenção

Interprete com cautela

Descartar a primeira leitura depois de trocar de canal pode ajudar quando o capacitor interno ainda guarda influência do canal anterior. Porém, isso não é uma regra universal nem garante estabilização para qualquer fonte. Reduzir a impedância equivalente da fonte é uma medida mais robusta.

A referência permanece DEFAULT neste ensaio. Mudanças de referência também podem exigir atenção às primeiras conversões, mas não serão testadas aqui.

Explique o resultado

Com base na sua montagem ou na tabela ilustrativa, explique em uma ou duas frases: por que a segunda leitura de A0 pode ficar mais próxima do valor esperado do divisor do que a primeira? Inclua o papel da impedância da fonte.

Escreva pelo menos 80 caracteres (0/80).

Passo 8 de 8

Valide a leitura de ponta a ponta

Conclua uma leitura documentada, ligando montagem, código, referência, cálculo e interpretação prudente.

Reconecte as evidências

Retome uma condição conhecida

Você chegou à validação final: use o divisor de 4,7 kΩ + 4,7 kΩ ligado entre 5 V e GND, com o nó em A0, e o programa que imprime o código e a tensão estimada. Não introduza uma nova configuração do ADC nesta etapa.

Uma leitura é justificável quando você consegue relacionar a ligação física, o código recebido e a escala usada no cálculo. O objetivo não é obter um número “perfeito”, e sim registrar um resultado coerente e suas condições.

Da montagem ao registro

Esquema visual de um divisor resistivo entre 5 V e GND, com o nó central em A0, seguindo para o ADC, monitor serial e comparação por multímetro.

A validação conecta uma condição física conhecida ao código, ao cálculo e a uma comparação.

Confira a conversão

Aplique a escala correta

No programa, a divisão precisa ser em ponto flutuante. Complete o denominador da expressão que transforma o código de 10 bits em tensão estimada.

Complete o cálculo

Preencha a constante que preserva o cálculo em ponto flutuante.

cpp
const float vRefCalculo = 5.0;
int codigo = analogRead(A0);
float tensaoEstimada = codigo * (vRefCalculo / );

Compare e interprete

Registre o que foi comparado

Faça um registro curto da sua validação. Se tiver um multímetro, meça em tensão contínua entre 5 V e GND e entre A0 e GND. Use a leitura em 5 V como aproximação prática da referência para refazer a conta, se desejar; isso não altera analogReference(DEFAULT) nem o código já adquirido.

Sem multímetro, analise este conjunto ilustrativo: código 510, referência de cálculo 5,00 V, tensão estimada 2,49 V e tensão no nó informada como 2,50 V. Esses são dados de exemplo, não uma leitura da sua placa.

Documente sua validação

Monte seu registro em uma frase ou lista: informe se os valores são observados na sua montagem ou dados ilustrativos, o código bruto, a referência usada e sua origem, a tensão estimada, o valor de comparação e uma interpretação breve da diferença.

Inclua também uma condição de aquisição relevante, como “divisor de baixa impedância” ou “após troca de canal, a primeira leitura pode não estar estabilizada”.

Escreva pelo menos 100 caracteres (0/100).

Feche a validação

Resumo

Checklist de uma leitura justificável

  • Mantenha A0 entre GND e a alimentação real da placa; AREF permanece sem conexão externa nesta prática.
  • Registre o código bruto e declare a referência usada no cálculo, distinguindo 5,0 V assumidos de uma tensão medida.
  • Calcule a estimativa como código × Vref / 1024, com ponto flutuante.
  • Diferencie a sua observação física dos dados ilustrativos apresentados no tutorial.
  • Pequenas diferenças podem envolver quantização, referência, tolerância, ruído e instrumento; mais casas decimais não significam mais exatidão.
  • Descartar uma leitura após trocar de canal pode ajudar, mas não substitui uma fonte com impedância adequada.

Tutorial concluído

Parabéns! Você concluiu: Leitura de tensão com o ADC do Arduino Uno

Leitura validada: agora você consegue documentar uma medição do A0 de ponta a ponta e explicar seus principais limites.

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso