Аналоговый Ввод/Вывод
Библиотека 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, 11277 просмотров.
Корзина пуста
Перейдите в каталог, выберите требуемый товар и добавьте его в корзину.Метки
- 74HC595
- 8x8 Led Matrix
- Arduino
- arduino +своими руками
- Arduino Pong
- arduino projects
- Arduino Shift-Out
- arduino tvout
- Arduino Uno
- Arduino и DS18S20/DS18B20
- arduino проекты
- Arduino статьи
- ASCII chart
- Atmel
- ATtiny2313
- Bipolar Junction Transistors
- BJT
- Compound Operators
- differential drive robot
- E-Paper + Arduino
- FET
- Field Effect Transistor
- Flutter
- Flutter Basic
- Flutter Pro
- Hardware
- LCD HD44780
- MagPi
- Maxtor
- MOSFET
- multiplexer/demultiplexer CD4051
- ne555
- NE555P интегральный таймер
- NPN
- openELEC
- Ping-Pong
- pir motion
- PNP
- Pointer Access Operators
- QRE1113
- Raspberry Pi
- SDFormatter
- sketch
- TV Out на Arduino
- TV-выход на Arduino
- Utilities
- win32diskimager
- Windows
- xbmc
- ZigBee
- Аналоговый Ввод/Вывод
- Арифметические операции
- библиотека Arduino
- библиотека Arduino
- биполярные транзисторы
- Битовые операции
- Биты и байты
- вентилятор
- вращение
- Время
- все выпуски MagPi
- данные о движении приводов
- датчик движения Arduino
- датчик линии
- Датчики
- двигатель
- двухколёсная платформа на базе Arduino
- журнал для пользователей Raspberry Pi
- игровая платформа
- использование кнопки с Arduino
- как подключить светодиод через кнопку
- как расширить
- как установить
- калибровка датчика при помощи Arduino
- квалификаторы
- количество аналоговых входов
- команда loop()
- Коммуникации
- Конвертирование типов данных
- Константы
- Логические операции
- Манипуляции с портами
- Математические функции
- мигание светодиодом
- мигание светодиодом без задержки
- Микроконтроллер ATtiny2313V-10PU
- микросхема 555
- Область действия переменной
- одометрия
- Операции сравнения
- описание ATtiny2313
- Описание языка Arduino
- определение минимальных и максимальных значений
- основные функции языка Arduino
- основы схемотехники
- оценка перемещения
- пинг-понг Arduino
- Подключение USBtinyISP к Arduino
- подключение LCD-дисплея
- подключение датчика движения к Ардуино
- подключение кнопок к одному аналоговому входу
- подключение светодиодов к Arduino Mega
- полевые транзисторы
- помигать светодиодом
- постепенное выключение светодиода
- Прочий синтаксис
- Расширенный Ввод/Вывод
- рефлекторный датчик
- робототехника
- светодиод и Arduino
- скачать MagPi
- скетчи
- снять показания датчика
- Создание мелодии с использованием функции tone()
- социальная сеть
- Структура программы
- таймерная микросхема
- технология беспроводной передачи
- Типы данных
- транзисторы
- Тригонометрические функции
- ультразвуковой датчик GH-311
- Управление реле по Ethernet при помощи Arduino
- Управление скоростью
- Управляющие операторы
- Функции прерываний
- Функции случайных чисел
- функция analogRead()
- Цифровой Ввод/Вывод
- Цифровые выводы платформы Arduino
- ШИМ
- электронная бумага
- энкодеры
- язык Arduino