analogRead()
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 | Max resolution |
---|---|---|---|
Uno | 5 Volts | A0 to A5 | 10 bits |
Mini, Nano | 5 Volts | A0 to A7 | 10 bits |
Mega, Mega2560, MegaADK | 5 Volts | A0 to A14 | 10 bits |
Micro | 5 Volts | A0 to A11[1] | 10 bits |
Leonardo | 5 Volts | A0 to A11[1] | 10 bits |
Zero | 3.3 Volts | A0 to A5 | 12 bits[2] |
Due | 3.3 Volts | A0 to A11 | 12 bits[2] |
MKR Family boards | 3.3 Volts | A0 to A6 | 12 bits[2] |
- [1]: A0 through A5 are labelled on the board, A6 through A11 are respectively available on pins 4, 6, 8, 9, 10, and 12
- [2]: 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.
Hardware Required
Wiring Diagram
This image is created using Fritzing. Click to enlarge image
Arduino Code
Rotate the potentiometer and see the result on Serial Monitor
For more detailed instruction, see Arduino - Potentiometer
※ 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.).
Ver Também
- Linguagem : analogReference()
- Linguagem : analogWrite()
- Exemplo : Arduino - Potentiometer
- Exemplo : Arduino - Light Sensor
- Exemplo : Arduino - Water Sensor
- Linguagem : analogReadResolution()
※ ARDUINO BUY RECOMMENDATION
Arduino UNO R3 | |
Arduino Starter Kit |