Потенциометр

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

Как он устроен

Потенциометр (переменный резистор) — это резистор с подвижным контактом. Внутри корпуса лежит дорожка из резистивного материала, а по ней скользит металлическая щёточка — ползунок. Когда крутишь вал, ползунок едет по дорожке и делит её на две части: одна идёт к одному концу дорожки, другая — к другому.

Крайние ноги — это концы дорожки: одна подключается к +5 Вольт, другая — к минусу питания (GND). Средняя нога — это ползунок, она идёт к аналоговому пину. Чем ближе ползунок к +5 Вольт, тем больше напряжение на пине.

так он выглядит (ось смотрит на нас) 123 GND A3 +5 В по часовой → к +5 В +5 В GND 0 В 10 кОм всего Arduino Nano A3 внутри Nano: АЦП 0 В → 0 5 В → 1023
GND +5 В
Напряжение на A3:
analogRead(A3):

analogRead — команда в программе Arduino: «измерь напряжение на пине». Например, int x = analogRead(A3); кладёт в переменную x число от 0 до 1023: 0 — на пине 0 В, 1023 — на пине 5 Вольт, 512 — примерно половина, 2.5 В. Измеряет его встроенный в Nano АЦП (аналого-цифровой преобразователь): он превращает напряжение в число, с которым программа уже может работать — например, задать по нему высоту звука.

Формула: analogRead = U / 5 В × 1023. Ток через потенциометр не зависит от ползунка: 5 В / 10 кОм = 0.5 мА. Номинал (1 к, 10 к, 100 к) на показания не влияет. На ESP32-S3 вместо 5 В подают 3.3 В — шкала та же, только верх 3.3 В.