AnalogReference

Материал из MK90.ORG wiki
Перейти к: навигация, поиск

Справка Язык | Библиотеки | Сравнение | Изменения

analogReference()

Описание

Устанавливает опорное напряжение для аналоговых входов (т.е. верхнее значение диапазона преобразования АЦП, которое соответствует значению 1023, возвращаемому analogRead() ).

Синтаксис

analogReference(type)

Параметры

type: выбираемый источник опорного напряжения (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, или EXTERNAL):

  • DEFAULT: значение по умолчанию, равняется напряжению питания +5В (на пятивольтовых платах Arduino) или +3.3В (на трехвольтовых платах Arduino);
  • INTERNAL: внутренний источник, напряжение которого зависит от типа микроконтроллера: +1.1 В для ATmega168 или ATmega328 и 2.56 В для ATmega8 (недоступно для Arduino Mega);
  • INTERNAL1V1: внутренний источник +1.1 В (только Arduino Mega);
  • INTERNAL2V56: внутренний источник +2.56 В (только Arduino Mega);
  • EXTERNAL: внешнее напряжение, поданное на пин AREF - может быть от 0 до напряжения источника питания (+5В или +3.3В, в зависимости от типа платы).

Возвращаемое значение

Отсутствует

Замечание

Первый вызов analogRead(), сделанный сразу после смены опорного источника напряжения, может вернуть неточное значение.

ПРЕДУПРЕЖДЕНИЕ

Никогда не подавайте на AREF напряжения меньше 0В и больше Vcc (напряжения питания платы - +5В или +3.3В)! Если вы подключили внешний источник опорного напряжения к пину AREF, обязательно вызовите analogReference(EXTERNAL) перед первым чтением через analogRead(). В противном случае, вы соедините внутренний источник опорного напряжения с пином AREF, что может вывести из строя микроконтроллер Arduino.

В качестве альтернативного варианта, можно подключать внешнее опорное напряжение к AREF через резистор 5кОм, что позволит программно переключаться между внешним и внутренним источниками. Но в этом случае резистор будет оказывать влияние, поскольку существует также и внутренний резистор 32 кОм на пине AREF. Оба вместе, они работают как делитель напряжения - например, 2.5 В от внешнего источника опорного напряжения в таком случае превращаются в 2.5 * 32 / (32 + 5) = ~2.2V на AREF.

Смотри также

Руководство по Wiring


Исправления, пожелания и новые статьи должны быть опубликованы через Форум.

Оригинальные тексты руководств и переводы распространяются Arduino и MK90 на условиях лицензии Creative Commons Attribution-ShareAlike 3.0 License. Примеры исходных кодов и ссылки являются общественным достоянием.