Описание
Измеряет входное напряжение на аналоговом выводе. У Arduino Uno есть 6-канальный (У Mini и Nano — 8-канальный, в Arduino Mega 2560 — 16-канальный) 10-битный аналогово-цифровой преобразователь (АЦП), который преобразовывает входное напряжение из диапазона 0 — 5 В в целочисленные значения от 0 до 1024 соответственно. Не трудно посчитать, что разрешающая способность АЦП составляет 0.005 В (5 мВ) на одно значение. Входной диапазон и разрешающая способность могут меняться с помощью функции analogReference().
Для считывания значения с аналогового входа требуется около 100 микросекунд (0.0001 с), поэтому максимальная частота опроса вывода приблизительно равна 10 000 раз в секунду.
Синтаксис
analogRead(pin)
Параметры
pin: номер вывода, с которого будет считываться напряжение (A0 — A5 для большинства плат, A0 — A7 для Mini и Nano, A0 — A15 для Mega)
Возвращаемые значения
целое число int (от 0 до 1024)
Примечание
Если аналоговый вход ни к чему не подключен, значение, возвращаемое функцией analogRead(), будет меняться под влиянием нескольких факторов (таких, как величина напряжения на других аналоговых входах, наводок от вашей руки вблизи платы и т.д.).
Пример
int analogPin = A3; // потенциометр 10 кОм (средний вывод) подключен к аналоговому выводу A3
// крайние выводы соединены с землей и +5В
int val = 0; // переменная для хранения считанного значения
void setup()
{
Serial.begin(9600); // настройка последовательного соединения
}
void loop()
{
val = analogRead(analogPin); // считываем напряжение с аналогового входа
Serial.println(val); // отправляем значение в COM порт.
}