Аналоговый Ввод/Вывод

Интернет-магазин

Новости Arduino

16 декабря 2013г.
Flutter - платформа разработки, основанная на Arduino
01 марта 2013г.
TV-выход на Arduino
08 февраля 2013г.
Raspberry Pi медиацентр своими руками
08 ноября 2012г.
Пополнение в библиотеке - Bionic Arduino на русском языке
04 июля 2012г.
Сонар для слепых на базе Arduino Mini Pro
30 мая 2012г.
Новости Raspberry Pi или шесть мучительных недель
16 мая 2012г.
Подключение датчика движения к Ардуино
14 февраля 2012г.
Arduino Pong - игровая платформа

Контактные данные

Телефон:
(093) 503-26-13
Электронная почта:

 

Главная Библиотека Arduino Описание языка Arduino на русском языке Аналоговый Ввод/Вывод

Аналоговый Ввод/Вывод

Библиотека Arduino Описание языка Arduino на русском языке

analogReference (type)
Описание:

Устанавливает опорное напряжение для аналоговых входов. Функция analogRead () вернет 1023 для входного уровня равного опорному напряжению. параметры могут быть следующими:
DEFAULT: Значение опроного напряжения по умолчанию 5В
INTERNAL: используется внутренний источник опорного напряжения, уровень которого равен 1,1В для ATmega168 и 2,56В для ATmega8
EXTERNAL: Уровень опорного напряжения подается с внешнего источника на пин AREF платы.
Параметры:
type: типа испоьлзуемого опорного напряжения (DEFAULT, INTERNAL, или EXTERNAL).
Внимание:
Хорошим способом считается подключение внешнего источника к AREF через резистор в 5к. Это может предотвратить проблемы связанные с чипом ATmega если установки analogReference () не совместимы с токовой защитой. Следует помнить, что резистор уменьшает подаваемое напряжение, поскольку имеется внутренний резистор на 32к на пине AREF. Два резистора образуют делитель напряжения.
Подключение внешнего источника опортного напряжения позволяет изменять напряджение AREF на лету, не принимая дополнительных конфигураций АЦП.

Использование вывода AREF
Поданное с внутренного источника напряжение вывода AREF на порт АЦП выдаст максимальное значение — 1023.
Меньшие напряжения пропорциональны. Таким образом, при DEFAULT, поданное на вход АЦП напряжение 2,5В выдаст приблизительно 512.

По умолчанию во всех реализациях Arduino ничего не покдлючаено к AREF (ATmega вывод 21) В этом случае установка DEFAULT для analogReference подключает вывод AREF к AVCC. Это дает низкое сопротивление подключения. Поэтому, ошибочное внешнее подключение AVCC к выводу AREF при установке DEFAULT могут быть опасными для чипа ATMEGA.
Вывод AREF также может быть подключен ко внутреннему испочнику в 1,1В (или 2,56 на ATmega8) используя analogReference (INTERNAL).С такой установкой подведенное к аналоговым входам напряжение равное или большеее опорного выдадут результат в 1023. Меньше напряжения выдадут пропорциональные результаты. Так, 0,55В дадут около 512.
Соденинение между источником 1,1В и выводом AREF высокоимпедансвое и измерить его можно только мультиметром с высоким входным сопротивлением. Внешний источник, подключенный в выводу AREF не повредит чип, однако, перезапишет значение в 1,1В и АЦП будет опираться на внешний источник.
Корректные установки для подключения внешнего источника — analogReference (EXTERNAL). Она отключает все внутренние источники и поданное внешнее напряжение на вывод AREF устанавливает опорное напряжение для АЦП.

analogRead ()
Описание:

Читает значение определенного аналогового вывода. Платформы Arduino имеют 6 (8 у Mini и Nano) 10-битных Аналогово-Цифровых преобразователей. Это означает, что входные напряжения между 0 и 5Впереводятся в цифровое значение от 0 до 1023. Дискретность преобразования в таком случае составляет 5/1024 = 0,0049В.
Выполнение преобразования занимает порядка 100мкс, т.е. максимальная скорость считывания составляет 10 000 раз в секунду.
Синтаксис:
analogRead (pin)
Параметры:
pin: номер аналогового пина, который следует прочесть (от 0 до 5 на большистве платформ, или от 0 до 7 на Mini и Nano)
Возвращает:
int (0 to 1023)
Примечание:
Если аналоговый вход ни к чему не подключен, то возвращаемое значение будет зависеть от различных факторов, начиная уровнем напряжения на соседних выводах и заканчивая расстоянием от ваших рук до вывода.
Пример:
int analogPin = 3; // potentiometer wiper (middle terminal) connected to analog pin 3
int val = 0; // variable to store the value read
void setup ()
{
Serial.begin (9600); // setup serial
}
void loop ()
{
val = analogRead (analogPin); // read the input pin
Serial.println (val); // debug value
}

analogWrite ()
Описание:

Пишет аналоговое значение (заполнение ШИМ) в порт. Может использоваться, например, для установки различной яркости свечения светодиодов, регулирования скорости двигателей.После вызова этой функции на выводе будет присутсвовать меандр с определенным заполнением до нового вызова этой или другой функции в применении к этому порту. Частота сигнала ШИМ состовляет примерно 490Гц.
На новых платформах, включая Mini и BT на чипе ATmega168, эта функция работает на выводах 3,5,6,9,10 и 11. На более старых USB и Serial платформах на чипе ATmega8 поддерживаются только порты 9,10 и 11
Синтаксис:
analogWrite (pin, value)
Параметры:
pin: вывод, на который пишем.
value: коэффициент заполнения: между 0 (всегда выключен) и 255 (всегда включен).
analogWrite не имеет никакого отношения к портам АЦП и analogRead.
Вам не нужно вызывать pinMode () для установки вывода как выходного, перед использованием функции analogWrite ().
На выводах 5 и 6 генерируется напряжение чуть большее, чем установленное коэффициентом заполнения. Вызвано это 
функциями millis () и delay (), которые используют один и тот же внутренний таймер, что и для генерации ШИМ. Поэтому analogWrite (x, 0) не полностью выключает выводы 5 и 6.
Пример:
Устанавливает яркость свечения светодиода в зависимости от положения потенциометра.
int ledPin = 9; // LED connected to digital pin 9
int analogPin = 3; // potentiometer connected to analog pin 3
int val = 0; // variable to store the read value
void setup ()
{
pinMode (ledPin, OUTPUT); // sets the pin as output
}
void loop ()
{
val = analogRead (analogPin); // read the input pin
analogWrite (ledPin, val / 4); // analogRead values go from 0 to 1023, analogWrite values from 0 to 255
}

Аналоговый Ввод/Вывод, Описание языка Arduino

11.04.2011, 8258 просмотров.

Корзина пуста

Перейдите в каталог, выберите требуемый товар и добавьте его в корзину.

Метки