analogRead()
analogRead(pino)
Sensores do mundo real (potenciômetro, LDR, sensor de temperatura) não falam só "ligado/desligado" — eles variam suavemente. O analogRead() é quem traduz essa tensão contínua num número que o seu código entende, usando o conversor analógico-digital (ADC) do Arduino.
Sintaxe
int valor = analogRead(pino);
Parâmetros
- pino: o pino analógico a ser lido. No Uno são
A0aA5.
Retorno
Um int de 0 a 1023 (resolução de 10 bits). No Uno, 0 corresponde a 0V e 1023 a ~5V.
Exemplo
void setup() {
Serial.begin(9600);
}
void loop() {
int leitura = analogRead(A0);
float tensao = leitura * (5.0 / 1023.0);
Serial.println(tensao);
delay(200);
}
Notas e cuidados
- Não precisa de
pinMode()para ler pinos analógicos — é só chamar. - Nunca aplique mais que a tensão de referência (5V no Uno) no pino: você pode danificar o microcontrolador.
- No ESP32 o ADC é de 12 bits (0 a 4095) e opera em 3,3V, além de não ser perfeitamente linear — o mesmo código dá valores diferentes.