Arduino:Справочник языка Arduino/Функции/Аналоговый ввод/вывод/analogReference()
{{#setlogo:ArduinoCommunityLogo.png}}
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Функция analogReference()
Функция определяет опорное напряжение относительно которого происходят аналоговые измерения. Функция analogRead() возвращает значение с разрешением 8 бит (1024) пропорционально входному напряжению на аналоговом входе, и в зависимости от опорного напряжения.
Возможные настройки:
- DEFAULT: стандартное опорное напряжение 5В (на платформах с напряжением питания 5В) или 3.3В (на платформах с напряжением питания 3.3В).
- INTERNAL: встроенное опорное напряжение 1.1В на микроконтроллерах ATmega168 и ATmega328, и 2.56В на ATmega8.
- EXTERNAL: внешний источник опорного напряжения, подключенный к выводу AREF.
Синтаксис
analogReference(type)
Параметры
type: определяет используемое опорное напряжение (DEFAULT, INTERNAL или EXTERNAL).
Возвращаемое значение
нет
Внимание
Внешнее напряжение рекомендуется подключать к выводу AREF через резистор 5 кОм.
Таким образом уменьшается риск повреждения микросхемы Atmega, если настройки analogReference не совпадают с возможностями платформы. Однако при этом произойдет небольшая просадка напряжения, вследствие того, что имеется встроенный резистор 32 кОм, подключенный к выводу AREF. В этом случае оба резистора работают как делитель напряжения. Подсоединение внешнего резистора позволяет быстро переключаться на напряжение 3.3В вывода AREF, с напряжения 5В DEFAULT без конфигурации аппаратной части и АЦП.
Использование вывода AREF
Напряжение, подключенное к выводу AREF, конвертируется АЦП и, затем, определяется значение напряжения, при котором АЦП выдает самое высокое цифровое значение, т.е 1023. Другие значения напряжения, поступающие в АЦП, конвертируются пропорционально. Таким образом, при настройке DEFAULT 5В значение напряжения - 2.5В в АЦП будет конвертироваться в 512.
В стандартной конфигурации платформ Arduino вывод AREF (вывод 21 Atmega) не задействован. В этом случае при настройке DEFAULT к выводу подключается внутреннее напряжение AVCC. Соединение является низко-импедансным и любое напряжение подведенное к выводу в этот момент может повредить микросхему ATMEGA.
Настройкой INTERNAL к выводу AREF подключается внутреннее напряжение 1.1В (или 2.56 микросхемы ATmega8). При этом напряжение соответствующее или превышающее 1.1В будет конвертироваться АЦП в 1023. Другие значения напряжения конвертируются пропорционально.
Внутреннее подключение источника 1.1В к выводу является высоко-импедансным, что означает, что измерение напряжения на выводе может быть произведено только мультиметром с высоким сопротивлением. Ошибочное подключение напряжения к выводу AREF при этой настройке функции analogReference не повредит микросхему, но превысит значение 1.1В. В этом случае АЦП будет конвертировать напряжение внешнего источника. Во избежание вышеописанных проблем настоятельно рекомендуется подключать внешнее напряжение через резистор 5 кОм.
Рекомендуемой настройкой для вывода AREF является EXTERNAL. При этом происходит отключение обоих внутренних источников, и внешнее напряжение будет являться опорным для АЦП.