Модуль-потенциометр может использоваться везде, где необходимо плавное управление. Например, Вы можете сделать точное управление серво-двигателем. Благодаря тому, что характеристика потенциометра линейна, серво-двигатель будет точно повторять движение ручки потенциометра. Или использоваться для управления освещением. Словом, везде, где необходим аналоговый резистивный сенсор. Потенциометр - это регулируемый резистор с подвижным контактом, который может перемещаться по телу резистора.
Внутреннее устройство потенциометра и его обозначение на схеме приведены на рисунке, взглянув на который, можно заметить, что он представляет собой регулируемый делитель напряжения.
Сектор окружности между выводами 1 и 3 выполнен из резистивного материала. При вращении ротора, ползунок, соединенный с выводом 2, скользит по поверхности полосы из резистивного материала. Таким образом, если вывод 1 потенциометра подключить к источнику питания Uвх, а вывод 3 к земле, то напряжение на выводе 2 будет определяться положением ротора.
Это свойство потенциометра позволяет использовать его в качестве датчика угла поворота. Чтобы узнать на какой угол повернут ротор потенциометра достаточно измерить напряжение на выводе 2 при помощи Аналогово Цифрового Преобразователя или АЦП.
Для удобства и простоты использования мы разместили всю схему с необходимой обвязкой на одной плате, к модулю необходимо подключить только питание и выводы контроллера при помощи четырехконтактного разъема.
Подключение модуля осуществляется с помощью разъема XH-2.54-4P, выводы которого имеют следующие назначения:
VCC - питание +5V
D0 - не используется
A0 - подключается к аналоговому входу контроллера (A0...A5)
GND - земля (общий)
Чтобы начать работу с модулем его необходимо подключить к микроконтроллеру по схеме ниже. Для быстрого и надежного подключения используйте QuatroPort A050. Будем плавно управлять яркостью светодиода, поэтому его тоже нужно подсоединить, как указано ниже.
Далее в микроконтроллер необходимо загрузить следующую программу.
#define LED_PIN 9 #define VAR_RES_PIN A0 //Переменная, хранящая результат, полученный //от АЦП. Изменяется от 0 до 1024 int value = 0; //Яркость светодиода для ШИМ от 0 до 255 int brightness = 0; void setup() { //Настройка выходов/выходов pinMode(LED_PIN, OUTPUT); pinMode(VAR_RES_PIN, INPUT);} void loop() { //Читаем результат измерения. АЦП //возвращает число от 0 до 1024 value = analogRead(VAR_RES_PIN); //Для использования ШИМ нам //нужно число в диапазоне от 0 до 255. //Поэтому делим value на 4 brightness = value / 4; //Подаем ШИМ на светодиод analogWrite(LED_PIN, brightness); //Ждем 200 миллисекунд delay(200); }
Программа позволяет плавно регулировать яркость светодиода с помощью потенциометра.