Arduino и потенциометр. Цифровой потенциометр MCP41010, подключение к Arduino

Описание

Потенциометр – переменный резистор, олицетворяющий собой резистивный делитель напряжения с подвижной средней точкой. При подключении выводов №1 и №3 на источник напряжения (например GND и 5V) на выводе №2 появится напряжение (относительно GND), пропорциональное положению ручки потенциометра.

Важный момент: потенциометры из набора могут использоваться только для подачи напряжения на аналоговые входы МК, регулировать напряжение на нагрузке (моторы, лампочки, вентиляторы) с их помощью нельзя!

Потенциометр может использоваться для ввода данных в микроконтроллер, например для регулирования каких-то значений в программе.

Потенциометр является переменным делителем напряжения. Потенциометры бывают разных размеров и форм, но все имеют три вывода. Номинал потенциометра определяет сопротивление между крайними выводами, оно неизменно, поворотом шкалы мы изменяем сопротивление между средним и крайним выводов от 0 до номинала потенциометра, либо от номинала до нуля.
В этом уроке мы будем использовать аналоговый вход Arduino, и рассмотрим работу потенциометра в качестве аналогового датчика, и будем демонстрировать показания аналогового датчика с помощью шкалы из 8 светодиодов.
Для получения аналоговых данных, Arduino имеет аналоговые входы, оснащенные 10-разрядным аналого-цифровым преобразователем для аналоговых преобразований. Точность АЦП определена разрешением. 10-разрядный означает, что АЦП может разделить аналоговый сигнал на 210 различных значений. Следовательно Arduino может присвоить 210=1024 аналоговых значений, от 0 до 1023. Опорное напряжение определяет максимальное напряжение, его значение соответствует значению 1023 АЦП. При напряжении 0 В на контакте АЦП возвращает значение 0, опорное напряжение возвращает значение 1023. Несмотря на то, что возможно изменить опорное напряжение, мы будете использовать опорное напряжение 5 В.
И так, начнем с описания проекта. Восемь, подключенных к контроллеру Arduino, светодиодов расположены в ряд. Мы считываем показания с аналогового входа Arduino, к которому подключен потенциометр, и отображаем его значение на шкале из 8 светодиодов. Если сопротивление потенциометра (между первым и средним выводом) равно 0, то не горит ни один светодиод, при максимальном сопротивлении потенциометра горят все 8 светодиодов.
Собираем схему, показанную на рисунке .

Будет интересно➡  Arduino Nano: распиновка и схема платы, характеристики, описание

урок по ардуино использование потенциометра в проектах

Еще немного об аналоговом входе ардуино

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

К аналоговому входу ардуино подключается любой аналоговый датчик. Измеряя напряжение на аналоговом входе, программа ардуино судит о реальном аналоговом сигнале от источника. Это может быть, например, интенсивность освещенности, измеряемая в люменах или температура в градусах цельсия, все что угодно, выраженное диапазоном значений от 0 до 5V.

Т.о. для получения реального значения необходимо, как минимум, знать какому значению (например, температуры) соответствует 0V, а какому – 5V.

Кроме того, зависимость между реальным измеряемым значением и напряжением на пине ардуино обычно далеко не линейная. Т.е. если предположить, что 0V соответствует 0*C, а 5V – 100*C, то 2,5V – вовсе не обязательно = 50*C. Это надо понимать, и всегда сверяться с документацией на применяемый аналоговый датчик.

Аналоговые выводы

Analog In — порты, принимающие аналоговый сигнал от датчиков, работают на вход. Данные порты также можно запрограммировать, как цифровые входы/выходы.

Arduino и потенциометр. Цифровой потенциометр MCP41010, подключение к Arduino

Аналоговый сигнал может меняться во времени, он непрерывен, а цифровой меняется только скачками (два положения 0В или 5В).

Arduino и потенциометр. Цифровой потенциометр MCP41010, подключение к Arduino

Для считывания сигналов с аналоговых вводов используется команда analogRead(pin). Эта команда возвращает значение от 0, при 0В на аналоговом пине, до 1023 при 5В на аналоговом пине.

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

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

Arduino и потенциометр. Цифровой потенциометр MCP41010, подключение к Arduino

Вот он выглядит потенциометр в реальности и в Tinkercad. У него 3 вывода. Два крайних – это +5V и GND (не имеет значения какой слева, а какой справа). Средний вывод подключается к аналоговому пину и выдает сигнал от 0 до 1023.

Arduino и потенциометр. Цифровой потенциометр MCP41010, подключение к Arduino

Подключение

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

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

Будет интересно➡  Что такое arduino nano: особенности и область применения

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

Необходимые компоненты

  • 1 потенциометр (любого номинала)
  • Остальное – как обычно.

Программа

Тестовая программа уже есть в стандартной библиотеке, так что, сегодня не будем писать собственную. Только немного изменим стандартную.

Откроем программу AnalogInOutSerial из меню File — Examples — Analog. Добавим константу и переменную для подключения потенциометра и получаемого значения от него.

В функции setup() откроем последовательный порт. А в функции loop() добавим считывание сигнала со второго подключенного потенциометра.

Полный текст программы

В результате выполнения программы мы получим управление яркостью светодиода от двух потенциометров. А в мониторе последовательного порта данные от обоих подключенных датчиков и новое значение передаваемое на светодиод.

Данные от потенциометров в последовательном порте
Данные от потенциометров в последовательном порте
Данные от потенциометров в последовательном порте

Схема подключения потенциометра к ардуино

У потенциометра (переменного резистора) –  3 контакта. В нашем случае средний контакт подключаем к аналоговому порту A0, а два других – к земле (GND) и 5V, соответственно.

  • Arduino и потенциометр. Цифровой потенциометр MCP41010, подключение к Arduino
  • Arduino и потенциометр. Цифровой потенциометр MCP41010, подключение к Arduino

Подключение потенциометра к Arduino:

Подключить потенциометр к Ардуино очень просто. Крайние пины потенциометра подключаются к пину с опорным напряжением (обычно это 5V) и к «земле» (GND), а центральный контакт подключается к любому свободному аналоговому пину. Вот схема подключения потенциометра к Ардуино:

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

Теперь в коде прошивки можно использовать функцию analogRead(A1); Вот такой скетч будет выводить значения с потенциометра в монитор порта:

int analogPin = A1; // потенциометр 10 кОм (средний вывод) подключен к аналоговому выводу A1 // крайние выводы соединены с землей и +5В int val = 0; // переменная для хранения считанного значения void setup() { Serial.begin(9600); // настройка последовательного соединения } void loop() { val = analogRead(analogPin); // считываем напряжение с аналогового входа Serial.println(val); // отправляем значение в COM порт. }

Arduino и потенциометр. Цифровой потенциометр MCP41010, подключение к Arduino

В данном случаи, для общения с микросхемой используется аппаратный SPI, а значит схема верна только для arduino UNO. На других версиях arduino плат (leonardo, mega) SPI находится на разъеме ICSP и искать выходы SCK и MOSI нужно там.

Будет интересно➡  Обзор платы arduino uno для Arduino

Выход ползунка потенциометра, PW0, подключен к аналоговому входу A0 arduino, а сам ползунок подключен по схеме делителя напряжения. В примере ниже, последовательно, в цикле, сдвигаем ползунок потенциометра от крайнего положения и отправляем в монитор порта значение напряжения на входе A0.

Подключить потенциометр к Ардуино очень просто. Крайние пины потенциометра подключаются к пину с опорным напряжением (обычно это 5V) и к «земле» (GND), а центральный контакт подключается к любому свободному аналоговому пину. Вот схема подключения потенциометра к Ардуино:

Теперь в коде прошивки можно использовать функцию analogRead(A1); Вот такой скетч будет выводить значения с потенциометра в монитор порта

Кратко о цифровом потенциометре AD5206

Структурная схема микросхемы цифрового потенциометра AD5206
Структурная схема микросхемы цифрового потенциометра AD5206Распиновка микросхемы AD5206
Распиновка микросхемы AD5206Назначение выводов микросхемы AD5206
Назначение выводов микросхемы AD5206

AD5206 – это 6-канальный цифровой потенциометр. Это означает, что он имеет шесть переменных резисторов (потенциометров), встроенных для независимого электронного управления. Для каждого из шести встроенных переменных резисторов на корпусе микросхемы выделено по три вывода, их можно подключить так же, как если бы вы использовали обычный механический потенциометр. Выводы отдельных переменных резисторов обозначены как Ax, Bx и Wx, например, A1, B1 и W1. В этом руководстве мы будем использовать каждый потенциометр в качестве делителя напряжения, подключив один крайний вывод (вывод A) к напряжению питания, второй крайний вывод (вывод B) – к шине земли, а со среднего вывода (Wiper) будем брать изменяющееся напряжение. В этом случае AD5206 обеспечивает максимальное сопротивление 10 кОм, сопротивление изменяется в 255 шагов (максимум при 255, минимум при 0).

Схема

Схема соединений
Схема соединенийПринципиальная схема
Принципиальная схема

Заключение

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

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

Предыдущая
ArduinoАрдуино сервопривод и потенциометр
Понравилась статья? Поделиться с друзьями:
Electroinfo.net  онлайн журнал
Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять