Инструкции

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

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

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

В сети

Пользователей: 120
Из них просматривают:
Аналоги: 45. Даташиты: 59. Инструкции: 7. Новости: 2. Форум: 6. Чат: 1.
Участников: 3
Гостей: 117

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

Разное

Интересно

Если у вас нет жидкого канифольного флюса, его легко изготовить самостоятельно.
В небольшом количестве спирта растворяют кусочки канифоли до образования темно-коричневой жидкости. Наносят такой флюс на место пайки кисточкой.

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