Оглавление:

Контроль яркости, Arduino (с анимацией): 7 шагов
Контроль яркости, Arduino (с анимацией): 7 шагов

Видео: Контроль яркости, Arduino (с анимацией): 7 шагов

Видео: Контроль яркости, Arduino (с анимацией): 7 шагов
Видео: Уроки Ардуино #11 - плавное управление нагрузкой, ШИМ сигнал 2024, Ноябрь
Anonim
Image
Image

За последние несколько лет я построил две машины для игры в пинбол (pinballdesign.com) и две головы роботов (grahamasker.com), каждая из которых контролируется Arduinos. Имея карьеру инженера-механика, я хорошо разбираюсь в конструкции механизмов, однако мне сложно программировать. Я решил создать анимацию, чтобы проиллюстрировать некоторые из основных концепций Arduino. Я думал, что это поможет мне и другим понять их. Картинка стоит тысячи слов, а анимация может быть тысячи картинок!

Итак, вот анимированное объяснение по теме управления яркостью. На анимации выше показана схема потенциометра, подключенного к Arduino. Он показывает, как регулировка положения потенциометра может изменить яркость светодиода. Я собираюсь объяснить все элементы этого процесса. Для тех, кто не знаком с потенциометрами и светодиодами, я начну с них. Затем я объясню, почему светодиод должен быть подключен к выводу Arduino с включенным ШИМ и как функция MAP используется в эскизе Arduino для преобразования входа от потенциометра в выход, который подходит для управления светодиодом.

Если вы знакомы со светодиодами и потенциометрами, вы можете пропустить разделы 1 и 2.

Шаг 1: О светодиодах

О светодиодах
О светодиодах

На левом рисунке выше показан символ цепи светодиода и полярность ножек светодиода. Ток будет течь через светодиод только в одном направлении, поэтому важна полярность. Чем длиннее нога, тем лучше. Также у фланца есть плоская сторона, это отрицательная сторона.

НАПРЯЖЕНИЕ И ТОК

Напряжение, необходимое для светодиода, колеблется от 2,2 до 3,2 вольт в зависимости от его цвета. Их номинальный ток обычно составляет 20 мА. Чтобы ограничить ток и предотвратить перегрев светодиода, необходимо использовать резистор последовательно с каждым светодиодом. Рекомендую около 300 Ом.

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

Шаг 2: ПОТЕНЦИОМЕТР

ПОТЕНЦИОМЕТР
ПОТЕНЦИОМЕТР

В терминах Arduino потенциометр - это датчик. «Датчик» относится к любому внешнему устройству, которое при подключении к входным контактам может быть обнаружено Arduino. Мы собираемся использовать потенциометр, подключенный к Arduino, для управления яркостью светодиода. Потенциометр иногда называют делителем напряжения, что, на мой взгляд, является лучшим описанием. На схеме слева вверху показан принцип делителя напряжения. В этом примере резистор подключен к земле на одном конце и удерживается некоторым источником питания до 5 В на другом конце. Если ползунок перемещать вдоль резистора, он будет под напряжением 0 В на левом конце и 5 В на правом конце. В любом другом положении он будет находиться в диапазоне от 0 до 5 В. На полпути, например, будет на 2,5 В. Если мы изменим конфигурацию, как показано справа выше, то это будет действие вращающегося потенциометра.

Шаг 3: ЦЕПЬ

ЦЕПЬ
ЦЕПЬ

На рисунке выше показано, как нам нужно подключить потенциометр и светодиод к Arduino.

Ardunio должен определять напряжение, подаваемое на него потенциометром. Напряжение плавно изменяется при повороте потенциометра, таким образом, это аналоговый сигнал и, следовательно, его необходимо подключить к аналоговому входному выводу на Arduino. Напряжение на этом выводе будет считываться Arduino каждый раз, когда программа запрашивает его через функцию «analogRead».

Arduino имеет только цифровые выходные контакты. Однако эти контакты с тильдой (~) рядом с ними имитируют аналоговый выход, который подходит для управления яркостью светодиода. Этот процесс называется широтно-импульсной модуляцией (ШИМ) и объясняется в следующей анимации, шаг 4.

Шаг 4: ШИМ

ШИМ, широтно-импульсная модуляция

Как упоминалось ранее, контакты с тильдой и знаком «~» - это контакты ШИМ. Поскольку контакты являются цифровыми, они могут быть только на 0 В или 5 В, однако с ШИМ их можно использовать для уменьшения яркости светодиода или управления скоростью двигателя. Они делают это, подавая 5 В на светодиод, но пульсируя его между 0 В и 5 В с частотой 500 Гц (500 раз в секунду) и растягивая или сокращая длительность каждого элемента 0 В и 5 В импульса. Поскольку светодиод видит более длительный импульс 5 В, чем импульс 0 В, он становится ярче. В нашей программе мы используем функцию analogueWrite () для вывода «прямоугольной волны» ШИМ. Он имеет 256 приращений, ноль дает 0% рабочего цикла, а 255 дает 100% «рабочий цикл», т. Е. Непрерывные 5 вольт. Таким образом, 127 даст 50% рабочий цикл, половину времени при 0 В и половину времени при 5 В. На приведенной выше анимации показано, как по мере увеличения рабочего цикла до 100% светодиод становится ярче.

Шаг 5: ПРОГРАММА (ARDUINO SKETCH)

Image
Image

Вышеупомянутое видео демонстрирует программу (эскиз), которую можно использовать для управления яркостью светодиода с помощью потенциометра. Схема такая же, как на шаге 3.

Если вы считаете, что это видео слишком быстрое (или медленное) для удобного чтения, вы можете отрегулировать его скорость. В правом конце нижней панели управления находится символ в форме шестеренки (иногда с красной меткой «HD» на нем..) Если щелкнуть, появится меню, в котором есть «скорость воспроизведения».

Конечно, было бы лучше, если бы вы могли нажимать кнопку, чтобы переходить по каждой строке программы с вашей собственной скоростью, однако, к сожалению, здесь невозможно предоставить этот интерактивный метод. Если вы предпочитаете использовать этот метод по этому вопросу и по многим другим темам, посвященным Arduino, то на сайте animatedarduino.com есть бесплатная предварительная версия интерактивной / анимированной электронной книги.

В программе есть одна особенность, которая, как мне кажется, требует более подробного объяснения: в строке 14 используется функция "map". Далее, на шаге 6, есть объяснение его назначения.

Шаг 6: КАРТА

У нас есть потенциометр, подключенный к аналоговому выводу. Напряжение потенциометра варьируется от 0 до 5 В. Этот диапазон регистрируется в процессоре с шагом 1024 шага. Когда ввод значения используется для создания вывода через цифровой вывод с ШИМ, этот диапазон должен быть сопоставлен с диапазоном вывода цифрового вывода. Это 255 шагов. Для этой цели используется функция карты, которая обеспечивает вывод, пропорциональный вводу.

Видео выше иллюстрирует это.

Шаг 7: Анимированная Arduino

Изображения в этом руководстве были взяты из моей электронной книги Animated Arduino, доступной на www.animatedarduino.com, в которой я стремлюсь лучше понять некоторые концепции, возникающие при обучении программированию Arduino.

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

Рекомендуемые: