Продолжаем серию уроков “Arduino для начинающих”. На предыдущих уроках мы познакомились с простейшими схемами — сборкой мигающего светодиода и светодиода, загорающегося по нажатию кнопки. Сегодня собираем модель с потенциометром (переменным резистором) и светодиодом. Такая модель может использоваться для управления роботом.
Потенциометр — это переменный резистор с регулируемым сопротивлением. Потенциометры используются в робототехнике как регуляторы различных параметров — громкости звука, мощности, напряжения и т.п. В нашей модели от поворота ручки потенциометра будет зависеть яркость светодиода . Это также одна из базовых схем.
Видео-инструкция сборки модели:
Для сборки модели нам потребуется:
- плата Arduino (или аналоги);
- Breadboard;
- 6 проводов и/или перемычек “папа-папа”;
- светодиод;
- потенциометр (переменный резистор);
- резистор на 220 Ом;
- среда Arduino IDE, которую можно скачать с сайта Arduino.
Что понадобится для подключения потенциометра и светодиода на Arduino?
Схема подключения модели Arduino с потенциометром и светодиодом:
Схема подключения модели Arduino с потенциометром и светодиодом
Для работы этой модели подойдет следующая программа (программу вы можете просто скопировать в Arduino IDE):
// даём имена пинов со светодиодом // и потенциометром #define led 9 #define pot A0 void setup() { // пин со светодиодом — выход pinMode(led, OUTPUT); // пин с потенциометром - вход pinMode(pot, INPUT); } void loop() { // объявляем переменную x int x; // считываем напряжение с потенциометра: // будет получено число от 0 до 1023 // делим его на 4, получится число в диапозоне // 0-255 (дробная часть будет отброшена) x = analogRead(pot) / 4; // выдаём результат на светодиод analogWrite(led, x); }
Так выглядит собранная модель Arduino потенциометра со светодиодом:
Модель Arduino с потенциометром и светодиодом в собранном виде
На этом третий урок “Arduino для начинающих” закончен. Продолжение следует!
Смотрите также:
Учебный курс «Arduino для начинающих»: главная страница.
Посты по урокам:
- Первый урок: Светодиод.
- Второй урок: Кнопка.
- Третий урок: Потенциометр.
- Четвертый урок: Сервопривод.
- Пятый урок: Трехцветный светодиод.
- Шестой урок: Пьезоэлемент.
- Седьмой урок: Фоторезистор.
- Восьмой урок: Датчик движения (PIR) на Arduino. Автоматическая отправка E-mail.
- Девятый урок: Подключение датчика температуры и влажности DHT.
Все посты сайта «Занимательная робототехника» по тегу Arduino.
Не знаете, где купить Arduino? Все используемые в уроке комплектующие входят в большинство готовых комплектов Arduino, их также можно приобрести по отдельности. Подробная инструкция по выбору здесь. Низкие цены, спецпредложения и бесплатная доставка на сайтах AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазины Амперка и DESSY. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore. Смотри также список магазинов.
Автор: Александр Гагарин.
В робототехнике регулировка различных параметров, таких как громкость звука, мощность, напряжение и т.д., осуществляется при помощи переменных резисторов с регулируемым уровнем сопротивления. Примером такого устройства является потенциометр ардуино, который при включении в электрическую схему может быть использован для регулировки параметров. В этой статье мы рассмотрим варианты подключения и примеры скетчей для работы с потенциометром.
Принцип работы потенциометра
Переменный резистор или потенциометр – это электрическое устройство, значение уровня сопротивления которого можно задать в определенных пределах. Таким образом мы можем менять параметры электрических схем, гибко подстраивая их под определенные условия: например, регулировать чувствительность датчика или громкость звука в динамике. Потенциометры получили широкое распространение в схемах регулировки громкости, напряжения, контрастности и т.д., за свою простоту и практичность.
В зависимости от своего строения потенциометры делятся на два больших класса: цифровые и аналоговые. Основным элементом цифрового потенциометра является резистивная лестница, где на каждом шаге схемы имеются электронные переключатели. В конкретный момент времени происходит закрытие только одного электронного выключателя, что задает определенную величину сопротивления. За счет количества шагов в лестнице определяется диапазон разрешения потенциометра. Аналоговый потенциометр может изменять свое значение непрерывно, но, как правило, в более узком диапазоне и сам резистор будет иметь большие габариты.
В подавляющем большинстве случаев в проектах ардуино используются цифровые потенциометры. Чаще всего они являются интегральными схемами с положением цифрового указателя по центру шкалы.
Подключение потенциометра к платам Ардуино
Схема подключения
Подключение потенциометра к ардуино выполняется в соответствии со схемой, представленной на рисунке:
Для этого три вывода потенциометра необходимо соединить с указанными выводами платы:
- Черный – GND;
- Красный – питание 5В;
- Средний – от центрального вывода к аналоговому входу А0.
Изменяя положение вала подключенного потенциометра, происходит изменение параметра сопротивления, которое вызывает изменение показателя на нулевом пине платы ардуино. Считывание полученного значения напряжения аналогового импульса происходит в скетче с помощью команды analogRead ().
В плату Ардуино встроен аналого-цифровой преобразователь, способный считывать напряжение и переводить его в цифровые показатели со значением от нуля до 1023. При повороте указателя до конечного значения в одном из двух возможных направлений, напряжение на пине равно нулю, и, следовательно, напряжение, которое будет генерироваться составляет 0 В. При повороте вала до конца в противоположном направлении на пин поступает напряжение величиной 5В, а значит числовое значение будет составлять 1023.
Пример проекта
Примером реализации схемы подключения потенциометра может стать макетная плата с подключенным переменным резистором и светодиодом. При помощи потенциометра будет выполняться управление уровнем яркости свечения.
Для проведения работ следует подготовить такие детали:
- 1 плату Arduino Uno
- 1 беспаячную макетную плату
- 1 светодиод
- 1 резистор с сопротивлением 220 Ом
- 6 проводов «папа-папа»
- 1 потенциометр.
Для использования меньшего количества проводов от макетной платы к контроллеру следует подключить светодиод и потенциометр проводом земли к длинному рельсу минуса.
Пример скетча
В этом примере важно понимать, что яркость свечения светодиода управляется не напряжением подаваемым с потенциометра, а кодом.
#define PIN_LED 11 #define PIN_POT A0 void setup() { // Пин, к которому подсоединяется светодиод определяем как выход pinMode(PIN_LED, OUTPUT); // Пин с переменным резистором является входом pinMode(PIN_POT, INPUT); } void loop(){ // Определяем 2 переменные типа int int rotat, brightn; // Считывание в переменную rotat напряжения с переменного резистора: // микроконтроллер будет выдавать числа от 0 до 1023 // пропорциональны положению поворота вала rotat = analogRead(PIN_POT); // Преобразуем значение в яркость. Для этого делим rotat на 4, что с учетом округления даст нам число от 0 до 255. Именно это число мы подадим на шим-выход, с помощью которого можно управлять яркостью. brightn = rotat / 4; // Запись шим значения яркости на светодиод analogWrite(PIN_LED, brightn); }
В этом уроке мы научимся плавно регулировать яркость светодиода. Для этого на потребуется: плата Arduino, макетная плата, светодиод, резистор 220 Ом, переменный резистор (потенциометр) на 10 кОм.
С помощью потенциометра мы будем отправлять сигнал на плату Arduino, обрабатывать и конвертировать в ШИМ сигнал для управления яркостью светодиодом.
Принципиальная схема
Схема на макетной плате
Особенность схемы
- Обратите внимание на то, как подключен потенциометр, при это не имеет значение на какую из двух крайних ног подавать «-», а на какую «+».
- Для считывания аналогового сигнала с потенциометра, необходимо подключить среднюю «ногу» потенциометра к пину, обозначенный на плате префиксом «А» в нашел случае был подключен к пину «А0»
Скетч
Пояснение к коду
Новая функция analoRead будет принимать значения с потенциометра в диапазоне от 0 до 1023.
Переменная типа «int» может хранить в себе только целые числа в диапазоне от -32 768 до 32 767, о других типах переменных мы поговорим немного позже или вы можете самостоятельно прочитать о них вот здесь!
Вы спросите, что такое переменные и зачем они вообще нужны, переменные это очень ценные помощники, которые хранят в себе какое-то значение, которое потом можно будет использовать в разных частях кода. Использование переменных помогает сократить время на редактирование кода.
Вот наглядный пример, пользы использования переменных
Скетч
И создадим такой же код, только без использования переменной.
А теперь представьте нам необходимо изменить номер пина и увеличить задержку в коде. В первом коде нам достаточно изменить значения переменных, а во втором коде придется искать значения и менять их один за одним.
Используемые источники:
- http://edurobots.ru/2014/04/arduino-potenciometr/
- https://arduinomaster.ru/datchiki-arduino/potentsiometr-arduino/
- https://proarduino.ru/урок-№3-подключение-потенциометра/