View Categories

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

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

В наборе GyverKIT START IOT EXTRA
Потенциометр

Потенциометры из набора не очень приспособлены для подключения на макетной плате: у них очень широкие ножки, которые туго входят в отверстия. Можно загнуть их на 90 градусов, а затем скрутить ещё на 90 градусов при помощи пинцета. Так они не будут излишне растягивать контакты платы, да и втыкать будет гораздо удобнее:

Подключение к Arduino #

Потенциометр подключается крайними выводами на GND и VCC, а центральным – на аналоговый вход МК в режиме INPUT. Для опроса используется функция analogRead(pin). Рассмотрим подключение двух потенциометров на пины A0 и A1:

К Wemos можно подключить только один потенциометр, причём питание должно быть от 3.3V, так как аналоговый вход Wemos принимает напряжение от 0 до 3.3V!

Модуль потенциометра #

Подключается к питанию и аналоговому пину. Порядок пинов отличается от обычного потенциометра, внимательнее к подписям!

Программирование #

Уроки по теме:

Вывод значений в порт
/*
  Потенциометры на A0 и A1. Вывод в порт.
  Открой Инструменты/Плоттер для просмотра графика
*/

void setup() {
  // открываем порт для связи
  Serial.begin(115200);
}

void loop() {
  // выводим оба значения 
  // через запятую в одну строку
  Serial.print(analogRead(A0));
  Serial.print(',');
  Serial.println(analogRead(A1));
  delay(10);
}
Управление яркостью светодиода
/*
  Потенциометр на A0 управляет
  яркостью светодиода на плате (D13)
*/

void setup() {
  // пин 13 как выход (для мигания светодиодом)
  pinMode(13, OUTPUT);
}

void loop() {
  // шим на 13 пине
  // analogRead возвращает 0-1023
  // softPWM ожидает 0-255
  // делим на 4 для соответствия значений
  softPWM(13, analogRead(A0) / 4);
}

// софт шим
void softPWM(byte pin, byte val) {
  static byte count;
  count++;
  if (count == 0 && val != 0) digitalWrite(pin, 1);
  if (count == val) digitalWrite(pin, 0);
}

Полезные страницы #

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Прокрутить вверх