analogRead()
Описание
Считывает величину напряжения с указанного аналогового вывода. В составе Ардуино есть 6-канальный (8-канальный - в Mini и Nano, 16 - в Mega) 10-битный аналогово-цифровой преобразователь, который преобразовывает входное напряжение из диапазона 0 - 5 В в целочисленные значения в пределах от 0 до 1023 соответственно. Разрешающая способность АЦП составляет: 5 В / 1024 значения или 0.0049 В (4.9 мВ) на одно значение. Входной диапазон и разрешающая способность могут меняться с помощью функции analogReference().
Для считывания значения с аналогового входа требуется около 100 микросекунд (0.0001 с), поэтому максимальная частота опроса вывода приблизительно равна 10 000 раз в секунду.
Синтаксис
analogRead(pin)
Параметры
pin: номер вывода, с которого будет считываться напряжение (0 - 5 для большинства плат, 0 - 7 для Mini и Nano, 0 - 15 для Mega)
Возвращаемые значения
целое число int (от 0 до 1023)
Примечание
Если аналоговый вход ни к чему не подключен, значение, возвращаемое функцией analogRead(), будет меняться под влиянием нескольких факторов (таких, как величина напряжения на других аналоговых входах, наводок от вашей руки вблизи платы и т.д.).
Пример
int analogPin = 3; // ползунок потенциометра (средний вывод) подключен к аналоговому выводу 3 // крайние выводы соединены с землей и +5В int val = 0; // переменная для хранения считанного значения void setup() { Serial.begin(9600); // настройка последовательного соединения } void loop() { val = analogRead(analogPin); // считываем напряжение с аналогового входа Serial.println(val); // наблюдаем считанное значение }