Потенциометр для Arduino: какой выбрать, чем отличаются номиналы и типы
Потенциометр — самый прямой способ дать проекту физическую регулировку. Это резистор с подвижным контактом: крайние выводы на питание и землю, средний выдаёт напряжение, зависящее от положения ручки. Плата измеряет это напряжение и получает число от нуля до тысячи двадцати трёх.
Разница между моделями сводится к трём вещам: номиналу, характеру зависимости и форме корпуса. Разберём по порядку, потому что ошибка в любой из трёх портит проект.
Разборы конкретных моделей
Виды по форме корпуса
Маленький синий кубик, крутится отвёрткой. Ставится один раз при настройке и больше не трогается. Дешёвый и занимает мало места, но ресурс всего несколько сотен поворотов — как ручку громкости его не используют.
Классический регулятор с осью под ручку. Выдерживает десятки тысяч поворотов, удобен для лицевой панели прибора. Самый распространённый вариант для проектов, где крутить будет человек.
Движок ездит по прямой, как на микшерном пульте. Нагляден: положение видно с одного взгляда, без вглядывания в риски. Занимает много места и стоит дороже.
Какой номинал брать
Для Arduino стандарт — десять килоом, и в девяти случаях из десяти нужен именно он. Причина в компромиссе: слишком маленькое сопротивление, например один килоом, зря тратит ток, а слишком большое, скажем сто килоом, делает вход чувствительным к наводкам, и показания начинают дрожать.
Номинал пишут прямо на корпусе: B10K означает линейный на десять килоом, A10K — логарифмический на те же десять. Первая буква — это как раз характер зависимости, и её часто путают.
Линейный или логарифмический
У линейного потенциометра сопротивление меняется равномерно: повернули на треть — получили треть диапазона. Именно такой нужен для Arduino, если вы задаёте угол сервопривода, порог срабатывания или яркость.
Логарифмический меняется неравномерно, с упором в начало диапазона. Его придумали для регулировки громкости, потому что человеческий слух воспринимает громкость нелинейно. В цифровом проекте он даст странное поведение: половина хода ручки почти ничего не меняет, а потом всё резко нарастает. Если сомневаетесь — берите линейный.
Когда потенциометр не подходит
У потенциометра есть начало и конец: он всегда сообщает абсолютное положение. Это удобно, пока значение задаётся только ручкой. Но если то же значение должно меняться ещё и из программы, возникает рассинхронизация: программа выставила одно, а ручка физически стоит в другом положении.
В таком случае берут энкодер — он сообщает не положение, а приращение: «повернули на щелчок вправо». У него нет крайних положений, и он не спорит с программой.