Инструкции

Справочный раздел

В этом разделе Вы найдетё инструкции, справочники, и всевозможные хелпы по использованию программного обеспечения.

Разделы инструкций

В сети

Пользователей: 201
Из них просматривают:
Аналоги: 63. Даташиты: 64. Инструкции: 4. Новости: 11. Остальное: 11. Ошибки: 2. Программы: 1. Профиль пользователя: 1. Расчёты: 1. Теги: 3. Форум: 39. Чат: 1.
Участников: 5
Гостей: 196

an , MACTEP , Google , grom , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

Функция analogRead()

Функция считывает значение с указанного аналогового входа. Большинство плат Arduino имеют 6 каналов (8 каналов у платы Mini и Nano, 16 — у Mega) c 10-битным аналого-цифровым преобразователем (АЦП). Напряжение, поданное на аналоговый вход (обычно от 0 до 5 вольт), будет преобразовано в значение от 0 до 1023 — это 1024 шага с разрешением 0,0049 вольт. Разброс напряжения и шаг может быть изменен функцией analogReference(). Считывание значения с аналогового входа занимает примерно 100 микросекунд (0,0001 сек), т. е. максимальная частота считывания приблизительно 10 000 раз в секунду.

Синтаксис:
analogRead(pin);
 
Параметр:

pin — номер порта аналогового входа, с которого будет производиться считывание: 0..5 для большинства плат, 0..7 для Mini и Nano и 0..15 для Mega.
 
Возвращаемое значение

int (0 to 1023).

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

Пример .

int analogPin = 3; // номер порта, к которому подключен потенциометр
int val = 0; // переменная для хранения считываемого значения

void setup()
{
Serial.begin(9600); // установка связи по serial
}

void loop()
{
val = analogRead(analogPin); // считываем значение
Serial.println(val); // выводим полученное значение
}

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
 Функция analogRead()
Технический Директор
Технический Директор
Дата регистрации: 08.02.2009
Откуда: Днестровск
Сообщений: 2264
не в сети
Монитор порта, при изменении сопротивления переменного резистора 20 кОм, выдаёт числа от 2 до 903 (из-за дополнительных токоограничивающих резисторов по 100 Ом). Если, например, оставить потенциометр в среднее положение, то выдаёт разные числа, но в пределах 484 - 488. Значит ли это, что на аналоговый вход влияют помехи из вне, потому и значения не чётко постоянные?
 Функция analogRead()
Администратор
Администратор
Дата регистрации: 07.08.2008
Откуда: Тирасполь
Сообщений: 7049
в сети
Ну как минимум, плавает питание. плавает всего на 4 цифры, это 20мВ. А с помехами бороться просто. Конденсатор по входу.
Да и у резистора может быть плохой контакт движка...
 Функция analogRead()
Технический Директор
Технический Директор
Дата регистрации: 08.02.2009
Откуда: Днестровск
Сообщений: 2264
не в сети
Конденсатор отлично помог! 470 мкФ параллельно резистору дало значения в пределах 455-456 и это уже радует. Питание получаю от USB 2.0 порта компьютера. А вообще диапазон получаемых значений (от 0 до 1023) впечатляет.
 Функция analogRead()
Администратор
Администратор
Дата регистрации: 07.08.2008
Откуда: Тирасполь
Сообщений: 7049
в сети
Для проводимых тестов с проверкой питания по входам все таки лучше использовать отдельное питание, так как USB дает слабый выход. На старом моем компе ардуина даже не запускалась. На новом запускается.

Разное

Не давайте детям играть с ПДУ при работающем телевизоре.
Так как, нажимая беспорядочно кнопки, можно перевести телевизор в сервисный режим и распрограммировать его микроконтроллер с ППЗУ.

Интересно

При замене электролитических конденсаторов, кроме соблюдения полярности, не следует значительно превышать допустимое рабочее напряжение.
Например, если конденсатор рассчитан на рабочее напряжение 16 В, то при установке нового той же емкости, но рассчитанного на напряжение 300 В после непродолжительной эксплуатации произойдет его расформовка, и емкость его значительно уменьшится.

Похожие инструкции