Что такое потенциометр? Аналоговое чтение и управление с Arduino
Что такое потенциометр, как он работает и как подключить его к Arduino? Линейные и логарифмические потенциометры, маркировка B10K, чтение через analogRead и пример регулировки яркости светодиода.
Потенциометр — это переменный резистор, сопротивление которого меняется при повороте вала. Ручка громкости радиоприёмника, регулятор яркости лампы и стики игровых контроллеров — всё это потенциометры. В проектах на Arduino это самый простой способ получить значение от пользователя: поворачиваешь ручку, а Arduino читает число от 0 до 1023.

Как работает потенциометр?
Внутри есть резистивная дорожка в форме дуги и бегунок, который скользит по ней. Сопротивление между двумя крайними выводами постоянно (например, 10 kΩ). Средний вывод соединён с бегунком: при повороте вала бегунок движется по дорожке, и сопротивление до каждого крайнего вывода меняется. Если подать на крайние выводы 5 V и GND, на среднем получится напряжение от 0 до 5 V. Иными словами, потенциометр — это регулируемый делитель напряжения.
Виды потенциометров
| Тип | Как выглядит | Для чего |
|---|---|---|
| Поворотный | Вал, 3 вывода | Регулировка громкости, яркости, скорости |
| Подстроечный (trimmer) | Маленький, крутится отвёрткой | Значения, которые настраивают один раз (например, контраст LCD) |
| Ползунковый | Скользит по прямой | Микшеры и пульты управления |
| Джойстик | Два потенциометра в одном | Управление по двум осям (X и Y) |
Подключение потенциометра к Arduino
- Один крайний вывод подключи к 5V, другой к GND (если поменять их местами, просто изменится направление).
- Средний вывод подключи к аналоговому входу, например к A0.
- Подключи светодиод через резистор 220 Ω к пину 9 с поддержкой PWM.
- Загрузи код ниже и открой монитор порта: при повороте ручки меняются значение и яркость светодиода.
1const int POT_PIN = A0; // potansiyometre orta bacak / pot wiper
2const int LED_PIN = 9; // PWM pini / PWM pin
3
4void setup() {
5 pinMode(LED_PIN, OUTPUT); // LED çıkış / LED output
6 Serial.begin(9600); // seri monitör / serial monitor
7}
8
9void loop() {
10 int raw = analogRead(POT_PIN); // 0–1023 oku / read 0–1023
11 int brightness = map(raw, 0, 1023, 0, 255); // PWM'e çevir / scale to PWM
12 analogWrite(LED_PIN, brightness); // parlaklık / brightness
13 Serial.println(raw); // değeri yaz / print value
14 delay(20);
15}Функция map() переводит значение из одного диапазона в другой, например показание 0–1023 в значение PWM 0–255 или угол сервопривода 0–180. Чтобы увидеть принцип делителя напряжения в цифрах, воспользуйся калькулятором делителя напряжения.
Диапазон аналогового чтения на разных платах
| Плата | Разрешение | Диапазон | Функция |
|---|---|---|---|
| Arduino Uno / Nano | 10 бит | 0–1023 | analogRead() |
| ESP32 | 12 бит | 0–4095 | analogRead() |
| Raspberry Pi Pico | 12 бит (масштабируется до 16 бит) | 0–65535 | ADC.read_u16() |
Частые ошибки
- Средний вывод напрямую на 5V или GND: в крайнем положении ручки получается короткое замыкание, и потенциометр может сгореть. Питание всегда подают на крайние выводы.
- Скачущие значения: показания могут гулять на несколько единиц. Усредняй несколько измерений или игнорируй небольшие изменения.
- Логарифмический потенциометр: у потенциометра типа A значение в начале хода меняется медленно, а в конце быстро; для линейного управления бери тип B.
- Подключение к цифровому пину: потенциометр выдаёт аналоговое значение, поэтому его нужно подключать к аналоговому входу, например A0–A5.
Как задавать угол сервопривода потенциометром, рассказано в статье Что такое сервопривод?, а основы сопротивления — в статье Что такое резистор?.
Частые вопросы
Какой номинал потенциометра купить для Arduino?
Самый распространённый выбор — линейный потенциометр на 10 kΩ (B10K). Подойдут и значения от 1 kΩ до 100 kΩ: слишком маленькие потребляют больше тока, а слишком большие могут давать шумные показания.
Как различить выводы потенциометра?
Если держать его валом к себе, средний вывод — это бегунок. Порядок крайних выводов определяет только то, в какую сторону нужно крутить, чтобы значение росло.
Почему показания не доходят ровно до 0 или 1023?
Из-за переходного сопротивления на концах дорожки и производственного допуска крайние значения могут смещаться на несколько единиц. Помогает запас в 5–10 единиц в коде.
Джойстик и потенциометр — это одно и то же?
Внутри джойстика два потенциометра, расположенных под прямым углом, и обычно кнопка. Каждая ось читается своим аналоговым входом.
Что собрать после прочтения
Все проекты
Управление сервоприводом потенциометром
Когда ты поворачиваешь ручку потенциометра, рычаг сервопривода поворачивается вместе с ней: одно крайнее положение ручки — ноль градусов, другое — пол-оборота. Arduino всё время читает положение ручки

Регулировка яркости светодиода потенциометром на ESP32 (аналог → PWM)
В этом проекте яркость светодиода плавно регулируется потенциометром. Пин АЦП ESP32 читает напряжение 0–3,3V с потенциометра, затем это значение превращается в сигнал PWM (широтно-импульсная модуляция) и подаётся на светодиод. В результате при повороте потенциометра светодиод постепенно становится ярче или тусклее. В Arduino Core 3.0+ можно сразу использовать analogWrite(); на ESP32-S2/S3 разрешение АЦП фиксировано — 12 бит.

Бегущие огни с регулируемой скоростью
Шесть светодиодов загораются друг за другом, и кажется, что свет бежит от одного края к другому. Поверни ручку потенциометра, и скорость этого бега сразу меняется: в одну сторону свет мчится, в другую

Светодиодный эффект Knight Rider с регулируемой скоростью
Свет бежит от одного края шести светодиодов к другому, разворачивается и бежит обратно. Поверни ручку потенциометра, и скорость этого бега сразу изменится: в одном крайнем положении свет почти летит,

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

Смеситель цветов на ESP32 (3 потенциометра + RGB-светодиод + OLED)
Умная лампа для смешивания цветов на ESP32: вращая три потенциометра, можно получить любой цвет! Когда крутишь потенциометры красного, зелёного и синего, RGB-светодиод с общим катодом меняет цвет в реальном времени. OLED-дисплей SSD1306 показывает значения каждого цвета в диапазоне 0–255, полосы заполнения и веб-код цвета HEX (например, #FF8040). Мини-студия цвета, которая учит теории цвета RGB, чтению АЦП, регулировке яркости через PWM и дизайну экрана I2C.

Цифровой вольтметр с LCD-дисплеем
Узнай, какое напряжение даёт батарейка или блок питания, с помощью измерителя, собранного своими руками. Делитель из двух резисторов понижает высокое напряжение до уровня, который может прочитать плат
Другие статьи
Приложение BlueGrays
Собери эту схему шаг за шагом в телефоне
Схема подключения, код и список деталей на одном экране. 200+ проектов на Arduino, ESP32 и Pico готовы к сборке.
Наведи камеру телефона
Наведи камеру на код — откроется магазин приложений на телефоне.
или открыть магазин

