Компоненты · 3 мин чтения

Что такое потенциометр? Аналоговое чтение и управление с Arduino

Что такое потенциометр, как он работает и как подключить его к Arduino? Линейные и логарифмические потенциометры, маркировка B10K, чтение через analogRead и пример регулировки яркости светодиода.

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

Потенциометр
Поворотный потенциометр: два крайних вывода — концы постоянного резистора, средний — подвижный бегунок.

Как работает потенциометр?

Внутри есть резистивная дорожка в форме дуги и бегунок, который скользит по ней. Сопротивление между двумя крайними выводами постоянно (например, 10 kΩ). Средний вывод соединён с бегунком: при повороте вала бегунок движется по дорожке, и сопротивление до каждого крайнего вывода меняется. Если подать на крайние выводы 5 V и GND, на среднем получится напряжение от 0 до 5 V. Иными словами, потенциометр — это регулируемый делитель напряжения.

Виды потенциометров

ТипКак выглядитДля чего
ПоворотныйВал, 3 выводаРегулировка громкости, яркости, скорости
Подстроечный (trimmer)Маленький, крутится отвёрткойЗначения, которые настраивают один раз (например, контраст LCD)
ПолзунковыйСкользит по прямойМикшеры и пульты управления
ДжойстикДва потенциометра в одномУправление по двум осям (X и Y)
Маркировка B10K или B103 означает линейный потенциометр на 10 kΩ: значение меняется пропорционально повороту ручки. Буквой A обозначают логарифмический (аудио) потенциометр. Для измерений и управления с Arduino выбирай линейный (B).

Подключение потенциометра к Arduino

  1. Один крайний вывод подключи к 5V, другой к GND (если поменять их местами, просто изменится направление).
  2. Средний вывод подключи к аналоговому входу, например к A0.
  3. Подключи светодиод через резистор 220 Ω к пину 9 с поддержкой PWM.
  4. Загрузи код ниже и открой монитор порта: при повороте ручки меняются значение и яркость светодиода.
C++ (Arduino IDE)
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 / Nano10 бит0–1023analogRead()
ESP3212 бит0–4095analogRead()
Raspberry Pi Pico12 бит (масштабируется до 16 бит)0–65535ADC.read_u16()
ESP32 и Pico работают от 3,3 V: подключай крайний вывод потенциометра к 3,3 V, а не к 5 V. На ESP32 при включённом Wi-Fi надёжно читают только пины ADC1 (GPIO 32–39).

Частые ошибки

  • Средний вывод напрямую на 5V или GND: в крайнем положении ручки получается короткое замыкание, и потенциометр может сгореть. Питание всегда подают на крайние выводы.
  • Скачущие значения: показания могут гулять на несколько единиц. Усредняй несколько измерений или игнорируй небольшие изменения.
  • Логарифмический потенциометр: у потенциометра типа A значение в начале хода меняется медленно, а в конце быстро; для линейного управления бери тип B.
  • Подключение к цифровому пину: потенциометр выдаёт аналоговое значение, поэтому его нужно подключать к аналоговому входу, например A0–A5.

Как задавать угол сервопривода потенциометром, рассказано в статье Что такое сервопривод?, а основы сопротивления — в статье Что такое резистор?.

Частые вопросы

Какой номинал потенциометра купить для Arduino?

Самый распространённый выбор — линейный потенциометр на 10 kΩ (B10K). Подойдут и значения от 1 kΩ до 100 kΩ: слишком маленькие потребляют больше тока, а слишком большие могут давать шумные показания.

Как различить выводы потенциометра?

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

Почему показания не доходят ровно до 0 или 1023?

Из-за переходного сопротивления на концах дорожки и производственного допуска крайние значения могут смещаться на несколько единиц. Помогает запас в 5–10 единиц в коде.

Джойстик и потенциометр — это одно и то же?

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

Все проекты
Управление сервоприводом потенциометром
#36Новичок
Premium

Управление сервоприводом потенциометром

Когда ты поворачиваешь ручку потенциометра, рычаг сервопривода поворачивается вместе с ней: одно крайнее положение ручки — ноль градусов, другое — пол-оборота. Arduino всё время читает положение ручки

4.6(37)
52
Регулировка яркости светодиода потенциометром на ESP32 (аналог → PWM)
#115Средний
Premium

Регулировка яркости светодиода потенциометром на ESP32 (аналог → PWM)

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

4.5(19)
32
Бегущие огни с регулируемой скоростью
#7Средний

Бегущие огни с регулируемой скоростью

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

4.6(72)
146
Светодиодный эффект Knight Rider с регулируемой скоростью
#8Средний

Светодиодный эффект Knight Rider с регулируемой скоростью

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

4.5(60)
120
Управление светодиодами джойстиком
#59Средний
Premium

Управление светодиодами джойстиком

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

4.7(50)
67
Смеситель цветов на ESP32 (3 потенциометра + RGB-светодиод + OLED)
#138Продвинутый
Premium

Смеситель цветов на ESP32 (3 потенциометра + RGB-светодиод + OLED)

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

4.7(6)
10
Цифровой вольтметр с LCD-дисплеем
#56Средний
Premium

Цифровой вольтметр с LCD-дисплеем

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

4.5(27)
36