Сейчас ваша корзина пуста!
analogRead()
Считывает значение с указанного аналогового вывода. Платы Arduino содержат многоканальный 10-разрядный аналого-цифровой преобразователь. Это означает, что он преобразует входные напряжения в диапазоне от 0 до рабочего напряжения (5 В или 3,3 В) в целочисленные значения в диапазоне от 0 до 1023. Например, на Arduino UNO это дает разрешение между показаниями: 5 Вольт / 1024 единицы или 0,0049 вольт (4,9 мВ) на единицу. Смотрите таблицу ниже, в которой указаны используемые контакты, рабочее напряжение и максимальное разрешение для некоторых плат Arduino.
Диапазон входного сигнала может быть изменен с помощью analogReference(), в то время как разрешение может быть изменено (только для плат Zero, Due и MKR) с помощью analogReadResolution().
На платах на базе ATmega (UNO, Nano, Mini, Mega) для считывания данных с аналогового входа требуется около 100 микросекунд (0,0001 с), поэтому максимальная скорость считывания составляет около 10 000 раз в секунду.
| Версия платы (микроконтроллера) |
Рабочее напряжение | Используемые пины | Максимальное Разрешение |
|---|---|---|---|
| UNO R3 | 5 Volts | A0 to A5 | 10 bits |
| UNO R4 (Minima, WiFi) | 5 Volts | A0 to A5 | 14 bits** |
| Mini | 5 Volts | A0 to A7 | 10 bits |
| Nano, Nano Every | 5 Volts | A0 to A7 | 10 bits |
| Nano 33 (IoT, BLE, RP2040, ESP32) | 3.3 Volts | A0 to A7 | 2 bits** |
| Mega, Mega2560, MegaADK | 5 Volts | A0 to A14 | 10 bits |
| Micro | 5 Volts | A0 to A11* | 10 bits |
| Leonardo | 5 Volts | A0 to A11* | 10 bits |
| Zero | 3.3 Volts | A0 to A5 | 12 bits** |
| Due | 3.3 Volts | A0 to A11 | 12 bits** |
| GIGA R1 WiFi | 3.3 Volts | A0 to A11 | 16 bits** |
| MKR Family boards | 3.3 Volts | A0 to A6 | 12 bits** |
* На плате нанесены обозначения от A0 до A5, от A6 до A11 доступны соответственно на выводах 4, 6, 8, 9, 10, и 12
** Разрешение analogRead() по умолчанию для этих плат составляет 10 бит, для совместимости. Вам нужно использовать analogReadResolution(), чтобы изменить его на более высокое разрешение.
Синтаксис
analogRead( pin )Параметры
pin - номер аналогового входа для считывания Arduino
Возвращает
Аналоговое значение на выводе. Хотя оно ограничено разрешающей способностью аналого-цифрового преобразователя (0-1023 для 10 бит или 0-4095 для 12 бит). Тип данных: int.
Пример
Код считывает напряжение на аналоговом выводе и отображает его (считывается значение потенциометра).
int analogPin = A3;
// токосъемник потенциометра (средняя клемма) подключена к аналоговому контакту 3, внешние выводы заземлены и + 5 В
int val = 0;
// переменная для хранения прочитанного значения
void setup() {
Serial.begin(9600);
// Запуск по Serial со скоростью 9600
}
void loop() {
val = analogRead(analogPin);
// считайте входной PIN-код
Serial.println(val);
// вывод значения
}Примечание
Если вывод аналогового входа ни к чему не подключен, значение, возвращаемое analogRead(), будет колебаться в зависимости от ряда факторов (например, значений других аналоговых входов, того, насколько близко ваша рука находится к плате, и т.д.).

Добавить комментарий