Найти в Дзене

Потенциометр. Скетч и подключение к Ардуино

Вообще слово "потенциометр" должно пониматься как измеритель потенциала, иными словами - вольтметр. Но мы все, как-то так исторически сложилось, имеем в виду переменный резистор с подвижным контактом. Выглядят по-разному. Вряд ли я ошибаюсь, поэтому в картинку выше вставил даже узнаваемый всеми ардуинщиками джойстик, используемый любителями электроники в своих проектах. Этот джойстик тоже работает на по типу потенциометра. У обычного потенциометра 3 ножки, две крайних - на полное сопротивление и средняя - на снятие частичного (переменного) сопротивления - того, которое мы крутим рукояткой. Подключение Две крайних ножки садим на выходные пины питания 5V и GND (не важно, какие), среднюю ножку - на аналоговый пин, на картинке это А3. Скетч (Arduino IDE) Перед define вначале стоит символ "решетка", но Дзен превращает их в голубое слово со звёздочкой впереди. Однако, при копировании в Arduino IDE всё отображается правильно #define potent_pin A3 // сюда подключена средняя ножка потенци
Оглавление

Вообще слово "потенциометр" должно пониматься как измеритель потенциала, иными словами - вольтметр. Но мы все, как-то так исторически сложилось, имеем в виду переменный резистор с подвижным контактом.

Различное исполнение потенциометров
Различное исполнение потенциометров

Выглядят по-разному. Вряд ли я ошибаюсь, поэтому в картинку выше вставил даже узнаваемый всеми ардуинщиками джойстик, используемый любителями электроники в своих проектах. Этот джойстик тоже работает на по типу потенциометра.

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

У обычного потенциометра 3 ножки, две крайних - на полное сопротивление и средняя - на снятие частичного (переменного) сопротивления - того, которое мы крутим рукояткой.

Подключение

Подключение к Ардуино Нано
Подключение к Ардуино Нано

Две крайних ножки садим на выходные пины питания 5V и GND (не важно, какие), среднюю ножку - на аналоговый пин, на картинке это А3.

Скетч (Arduino IDE)

Перед define вначале стоит символ "решетка", но Дзен превращает их в голубое слово со звёздочкой впереди. Однако, при копировании в Arduino IDE всё отображается правильно

#define potent_pin A3 // сюда подключена средняя ножка потенциометра.
int val; // это будет значение с потенциометра
void setup() {
Serial.begin(9600);
}
void loop() {
val = analogRead(potent_pin); // запомнить показания с потенциометра
val = map(val, 0, 1023, 0, 180); // перевести в диапазон 0.. 180
val = constrain(val, 0, 180); // ограничить диапазон 0.. 180
Serial.println(val);
delay(15);
}

О скетче

Изначально, как я писал в описании канала, эти статьи больше рассчитаны для себя самого, чтобы не забыть. Но раз уж это читаете вы, то пояснение нужно хоть какое-то наисать. Минимальное. Никто не просил меня писать, никто не просил меня пояснять, что я написал (мысли вслух)...

Ардуина превращает полученный сигнал А3 в значение от 0 до 1023. Командой map(val, 0, 1023, 0, 180) я превратил эти значения в значения от 0 до 180, где 0=0, а 180 = 1023 в первоначальном виде. У вас могут быть свои числа. А мне это будет удобно потом при выдаче задания повернуться шаговый движок на угол от 0 до 180 градусов.

Строчка ниже val = constrain(val, 0, 180); не позволит значению val случайно выйти за предел 0-180.