Analog Read Serial: чтение аналогового сигнала и вывод в монитор порта
Подключите потенциометр к Arduino, считайте аналоговый сигнал с помощью analogRead и выводите значения в Serial Monitor в реальном времени.
В этом уроке вы научитесь считывать аналоговый сигнал из реального мира с помощью потенциометра. Потенциометр — простое механическое устройство, которое изменяет своё сопротивление при повороте ручки. Подав напряжение через потенциометр на аналоговый вход платы, можно измерить это сопротивление как числовое значение. В примере мы установим связь между Arduino и компьютером через Serial-порт и будем наблюдать показания потенциометра в реальном времени.
Необходимые компоненты
- Потенциометр 10 кОм
Схема подключения
Потенциометр имеет три вывода. Подключите их следующим образом:
- Один крайний вывод — к
GND(земля). - Другой крайний вывод — к
5V. - Средний вывод (движок, он же «вайпер») — к аналоговому пину
A0.

Схема подключения потенциометра к плате Arduino UNO на макетной плате
Когда вы поворачиваете ручку потенциометра, сопротивление между средним выводом и крайними меняется. Это изменяет напряжение на пине A0:
- Ручка повёрнута в сторону
5V→ напряжение наA0близко к 5 В. - Ручка повёрнута в сторону
GND→ напряжение наA0близко к 0 В.
Именно это аналоговое напряжение мы и будем считывать.
Как работает АЦП
Внутри платы Arduino есть схема, которая называется аналого-цифровой преобразователь (ADC). Она измеряет напряжение на аналоговом входе и преобразует его в целое число от 0 до 1023:
- 0 В → значение
0 - 5 В → значение
1023 - Любое промежуточное напряжение → пропорциональное число
Функция analogRead() возвращает именно это число. Разрешение такого преобразователя — 10 бит (2¹⁰ = 1024 уровня), что даёт достаточную точность для большинства задач.
Принципиальная схема

Принципиальная схема подключения потенциометра к аналоговому входу A0 платы Arduino UNO
Код
В функции setup() мы инициализируем Serial-соединение на скорости 9600 бод:
Serial.begin(9600);
В основном цикле loop() объявляем переменную типа int, которая будет хранить значение от 0 до 1023 — диапазон как раз укладывается в этот тип:
int sensorValue = analogRead(A0);
Затем выводим полученное значение в Serial Monitor с помощью Serial.println():
Serial.println(sensorValue);
Как проверить результат
Откройте Serial Monitor в Arduino IDE — нажмите значок лупы в правом верхнем углу или используйте сочетание клавиш Ctrl+Shift+M. Убедитесь, что скорость порта в мониторе выставлена на 9600 baud.
Вы увидите непрерывный поток чисел от 0 до 1023. При повороте ручки потенциометра значения будут меняться почти мгновенно.
Типичные ошибки и советы
- Значение всегда 0 или 1023. Проверьте, не перепутаны ли крайние выводы потенциометра с GND и 5V. Если оба крайних провода висят в воздухе — показания будут непредсказуемыми.
- Значения «прыгают» даже в покое. Небольшой шум — это норма для аналогового сигнала. Если шум мешает, можно усреднять несколько показаний подряд в коде.
- Serial Monitor показывает «кракозябры». Скорость в мониторе не совпадает со скоростью в
Serial.begin(). Выставьте 9600 baud в обоих местах. - Не видите данных вовсе. Убедитесь, что выбран правильный COM-порт и плата загружена без ошибок.
Где это пригодится
Чтение аналогового сигнала — фундаментальная техника для работы с датчиками: температуры, освещённости, давления, влажности, джойстиками и многими другими устройствами, которые выдают переменное напряжение. Освоив этот пример, вы сможете подключить к Arduino практически любой аналоговый датчик.
Дополнительные материалы
Больше базовых уроков вы найдёте в разделе built-in examples.
Подробное описание всех функций языка Arduino доступно в language reference.