СОДЕРЖАНИЕ ►
Команда analogRead в Arduino IDE используется для считывания аналогового сигнала с портов, обозначенных на платах Ардуино, как Ananlog In. Используется функция для опроса аналоговых датчиков подключенных к микроконтроллеру, таких как: термистор, фоторезистор, датчик температуры LM35 и т.д. Рассмотрим использование analogRead() в скетче на простом примере с подключением переменного резистора.
Arduino analogRead описание функции
Для этого занятия потребуется:
- Arduino Uno / Arduino Nano / Arduino Mega
- светодиод и резистор
- (потенциометр) переменный резистор
- макетная плата
- провода «папа-папа»
Arduino analogRead() считывает значение напряжения на указанном входе. Плата Arduino Uno имеет 6 аналоговых входов, подключенных к 10-битному АЦП (аналогово-цифровому преобразователю). Это означает, что входное напряжение от 0 до 5 Вольт преобразуется в целое цифровое значение от 0 до 1023. В результате разрешение составляет: 5 В / 1024, другими словами, точность измерения составляет 0,0049 В.
Синтаксис функции analogRead() в Arduino IDE
analogRead (pin);
Параметры
pin — номер аналогового входа, который необходимо отслеживать

В следующем примере подключим потенциометр (переменный резистор) к аналоговому входу A1 Ардуино. При вращении ручки потенциометра будет меняться переменная val, которая будет выводиться на монитор порта Arduino IDE. В зависимости от значения переменной с помощью команды analogWrite будет меняться яркость светодиода, подключенного к пину 10, поддерживающего ШИМ модуляцию.
Arduino analogRead() пример программы
void setup() { Serial.begin(9600); // запускаем монитор порта pinMode(10, OUTPUT); // подключаем светодиод к пин 10 pinMode(A1, INPUT); // подключаем потенциометр к входу A1 } void loop() { int val = analogRead(A1); // считываем данные с входа A1 val = val / 4; Serial.println(val); // выводим данные на монитор порта analogWrite(10, val); // меняем яркость светодиода delay(100); }
Пояснения к коду:
- аналоговые выводы используются, как входы, по умолчанию. Поэтому не обязательно их конфигурировать с помощью функции
pinMode()перед вызовом функцииanalogRead(), в отличии от команды digitalWrite(); - значение с порта A1 (переменная val) выводится на монитор порта.
Примечание. Если оставить аналоговый вход микроконтроллера неподключенным, то значение, возвращаемое функцией analogRead(), может быть рандомным. Значения будут колебаться в зависимости от многих факторов — значение других аналоговых входов, электромагнитные поля и т.д. По умолчанию опорное напряжение составляет 5 Вольт: при необходимости вы можете использовать другое значение.
Заключение. Мы рассмотрели, что означает analogRead в Ардуино языке и показали использование функции analog Read в скетче с потенциометром. Но можно использовать любой другой аналоговый датчик, например, фоторезистор или датчик воды. Аналого-цифровое преобразование (АЦП Ардуино) занимает около 100 мкс, поэтому максимальная частота измерений составляет около 10 000 раз в секунду.










А на сколько они резистор нужн
220 Ом