analogReference()

analogReference(tipo)

O analogRead() compara a tensão do pino com uma referência pra decidir o número de 0 a 1023. Por padrão essa referência é a alimentação (5V no Uno), mas o analogReference() deixa você trocá-la — útil pra medir sinais pequenos com mais precisão.

Sintaxe

analogReference(tipo);

Parâmetros

  • tipo: a fonte de referência. No Uno os principais são:
    • DEFAULT: a tensão de alimentação (5V).
    • INTERNAL: referência interna (~1,1V no Uno/ATmega328).
    • EXTERNAL: a tensão aplicada no pino AREF.

Retorno

Nada (void).

Exemplo

void setup() {
  Serial.begin(9600);
  analogReference(INTERNAL); // faixa de 0 a ~1,1V
}

void loop() {
  int leitura = analogRead(A0);
  Serial.println(leitura);
  delay(200);
}

Notas e cuidados

  • Depois de mudar a referência, faça uma leitura de descarte (analogRead()) e ignore o valor: o ADC leva um instante pra estabilizar.
  • Se usar EXTERNAL, nunca aplique no pino AREF uma tensão fora da faixa segura, e não use INTERNAL/DEFAULT com algo ligado no AREF — pode causar curto e danificar o chip.
  • Os tipos válidos variam por placa (o ESP32, por exemplo, trata referência/atenuação de forma bem diferente). Confira a referência da sua placa.

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker