Você está na página 1de 3

Documentação de Referência da Linguagem Arduino

analogRead()
[Analog I/O]

Descrição

Lê o valor de um pino analógico especificado. A placa Arduino possui um conversor


analógico-digital 10 bts de 6 canais (8 canais nos Mini e Nano, 16 no Mega, 7 canais em
placas MKR). Isso significa que este irá mapear tensões entre 0 e a tensão operacional
(5V or 3.3V) para valores inteiros entre 0 e 1023. No Arduino UNO, por exemplo, isso
permite uma resolução entre leituras de: 5 volts / 1024 unidades, ou .0049 volts (4.9
mV) por unidade. Veja a tabela abaixo para os pinos utilizáveis, tensão de operação e
resolução máxima para algumas placas Arduino.

O intervalo de entrada pode ser mudado atrvés da função analogReference() , enquanto a


resolução pode ser mudada (apenas nas placas Zero, Due e MKR) usando-
se analogReadResolution() .

Em placas baseadas em microcontroladores AVR (UNO, Nano, Mini, Mega), ler um valor
analógico leva em torno de 100 microssegundos (0.0001 s), então a taxa de leitura
máxima é aproximadamente 10,000 leituras por segundo.

BOARD OPERATING VOLTAGE USABLE PINS

Uno 5 Volts A0 to A5 10

Mini, Nano 5 Volts A0 to A7 10

Mega, Mega2560, MegaADK 5 Volts A0 to A14 10

Micro 5 Volts A0 to A11* 10

Leonardo 5 Volts A0 to A11* 10

Zero 3.3 Volts A0 to A5 12

Due 3.3 Volts A0 to A11 12

MKR Family boards 3.3 Volts A0 to A6 12

https://www.arduino.cc/reference/pt/
Documentação de Referência da Linguagem Arduino

*A0 through A5 are labelled on the board, A6 through A11 are respectively available on
pins 4, 6, 8, 9, 10, and 12
**The default analogRead() resolution for these boards is 10 bits, for compatibility. You
need to use analogReadResolution()  to change it to 12 bits.

Sintaxe

analogRead(pino)

Parâmetros

pino: o nome do pino de entrada analógica que se quer ler (A0 a A5 na maioria das

placas, A0 a A6 em placas MKR, A0 a A7 no Mini e Nano, A0 a A15 no Mega).

Retorna

A leitura analógica no pino (int). No entanto esta é limitada a resolução do conversor


analógico digital (0-1023 para 10 bits ou 0-4095 para 12 bits).

Código de Exemplo

O código abaixo lê o valor de um pino de entrada analógica e mostra seu valor na porta
serial.

int analogPin = A3; // terminal do meio de um potênciometro conectado ao pino analógico


3
// terminais mais externos são conectados um no ground e o outro em
+5V
int val = 0; // variável para guardar o valor lido

void setup() {
Serial.begin(9600); // configura a porta serial
}

void loop() {
val = analogRead(analogPin); // lê o pino de entrada
Serial.println(val); // imprime o valor na porta serial
}

https://www.arduino.cc/reference/pt/
Documentação de Referência da Linguagem Arduino

Notas e Advertências

Se o pino de entrada analógica não estiver conectado a nada, o valor retornado por
analogRead() irá flutuar baseado numa gama de fatores (ex. o valor de outros pinos
analógicos, quão próxima suu mão está da placa, etc.).

https://www.arduino.cc/reference/pt/

Você também pode gostar