analogRead() / Arduino

Добавлено 29 октября 2018 в 19:25

Описание

Считывает значение с указанного аналогового вывода. Плата Arduino содержит 6-канальный (7-канальный на платах MKR, 8 на Mini и Nano, 16 на Mega), 10-разрядный аналого-цифровой преобразователь. Это означает, что он преобразует входные напряжения от 0 до 5 вольт в целые значения от 0 до 1023. Это дает разрешение между показаниями: 5 вольт / 1024 единицы или, 0,0049 вольта (4,9 мВ) на единицу. Входной диапазон и разрешения могут быть изменены с помощью analogReference().

Для чтения аналогового входа требуется примерно 100 микросекунд (0,0001 с), поэтому максимальная скорость считывания составляет около 10000 раз в секунду.

Синтаксис

analogRead(pin)

Параметры

pin: номер аналогового входа, значение с которого необходимо прочитать (от 0 до 5 на большинстве плат, от 0 до 6 на MKR, от 0 до 7 на Mini и Nano, от 0 до 15 на Mega).

Возвращает

int (от 0 до 1023).

Пример кода

Код считывает напряжение с analogPin и отображает его.

int analogPin = 3;     // ползунок потенциометра (средний вывод) подключен
                       // к аналоговому выводу 3, крайние выводы – к земле и +5В
int val = 0;           // переменная для хранения значения показаний

void setup()
{
  Serial.begin(9600);              // настройка последовательного порта
}

void loop()
{
  val = analogRead(analogPin);     // прочитать входной вывод
  Serial.println(val);             // значение для отладки
}

Примечания и предупреждения

Если вывод аналогового входа ни к чему не подключен, значение, возвращаемое analogRead(), будет колебаться в зависимости от ряда факторов (например, значений других аналоговых входов, как близко ваша рука к плате, и так далее).

Теги

ADC / АЦП (аналого-цифровой преобразователь)ArduinoАналоговый входПрограммирование

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.