analogReference(type)

Описание

Устанавливает источник опорного напряжения, использующийся при считывании аналогового сигнала (другими словами, задает максимальное значение входного диапазона). Для выбора источника опорного напряжения доступны следующие значения:

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

Параметры

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

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

Нет.

Примечание

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

Предупреждение

При использовании внешнего источника опорного напряжения, напряжение на выводе AREF должно быть строго в пределах от 0 до 5 В! При этом перед вызовом функции analogRead() нужно обязательно установить тип источника как EXTERNAL. В противном случае, возможно короткое замыкание внутреннего источника опорного напряжения с выводом AREF, что может привести к повреждению микроконтроллера на вашей плате Ардуино.

Подобную ситуацию также можно предотвратить, если внешний источник опорного напряжения соединять с выводом AREF через резистор номиналом 5 кОм. Такое соединение даст возможность переключаться между внутренним и внешним опорным напряжением. Однако, при этом следует иметь ввиду, что резистор изменит величину опорного напряжения, поскольку вывод AREF соединяется с внутренним резистором номиналом 32 КОм. Два резистора образуют делитель напряжения, таким образом, например, 2.5В, приложенные через резистор, в итоге дадут 2.5 * 32 / (32 + 5) = ~2,2 В на выводе AREF.

Смотрите также

Ардуино