Мигалка на Ардуино: как сделать скетч по схеме из светодиода

Вопросы и ответы

Принцип управления нагрузкой через Ардуино

Управление светодиодной лентой с помощью Arduino

Плата Arduino имеет два типа выходных портов: цифровой и аналоговый (контроллер ШИМ). Цифровой вентиль имеет два состояния: логический ноль и логическая единица. Если подключить к нему светодиод, он загорится или нет.

Аналоговый выход представляет собой ШИМ-контроллер, на который подается сигнал с частотой около 500 Гц с регулируемой скважностью. Что такое ШИМ-контроллер и как он работает, можно найти в Интернете. Через аналоговый порт можно не только включать и выключать нагрузку, но и изменять на ней напряжение (ток.

Синтаксис команд

Цифровой выход:

  • pinMode (12, ВЫХОД); — установить порт 12 как порт вывода данных;
  • digitalWrite (12, ВЫСОКИЙ); — прикладываем логическую единицу к дискретному выводу 12, включив светодиод.

Аналоговый выход:

  • analogOutPin = 3; — мы устанавливаем вентиль 3 для вывода аналогового значения;
  • analogWrite (3, значение); — формируем на выходе сигнал с напряжением от 0 до 5В. Значение представляет собой рабочий цикл
  • сигнала от 0 до 255. При значении 255 максимальное напряжение.

Способы управления светодиодами через Ардуино

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

Для более мощных нагрузок, в том числе светодиодных лент, используется электронный переключатель — транзистор.

Виды транзисторных ключей

  • Биполярный;
  • Поле;
  • Композитный (сборка Дарлингтона).

Способы подключения нагрузки

Через биполярный транзистор Через полевой транзистор Через переключатель напряжения
Подключение биполярного транзистора Подключение полевого транзистора Подключение через переключатель напряжения

Когда высокий логический уровень (digitalWrite (12, HIGH);) применяется к выходному порту на базе транзистора через цепь коллектор-эмиттер, опорное напряжение течет на нагрузку. Таким образом вы можете включать и выключать светодиод.

Полевой транзистор работает аналогичным образом, но поскольку он имеет сток вместо «базы», ​​который управляется не током, а напряжением, ограничительный резистор в этой схеме не нужен.

Биполярное зрение не позволяет регулировать мощные нагрузки. Ток, протекающий через него, ограничен 0,1-0,3 А.

Полевые транзисторы работают с более мощными нагрузками с током до 2А. Для еще более мощной нагрузки используются полевые транзисторы Mosfet с током до 9А и напряжением до 60В.

Полевой транзистор Мосфет

Вместо полевого эффекта можно использовать сборку биполярных транзисторов Дарлингтона на микросхемах ULN2003, ULN2803.

Микросхема ULN2003 и принципиальная схема электронного переключателя напряжения:

Микросхема ULN2003

Собрать схемуна макетной плате

Мы видим, как мигает светодиод RGB в действии. Светодиод горит попеременно красным, зеленым и синим светом. Каждый цвет загорается на 0,1 секунды, затем выключается на 0,2 секунды, и загорается следующий цвет. Вы можете освещать каждый канал отдельно, вы можете делать это одновременно, тогда цвет свечения изменится.

Светодиод RGB подключен к Arduino
Светодиод RGB подключен к Arduino. Схема собрана на макетной плате

Подключение нескольких светодиодов

Чтобы подключить несколько светодиодов к Arduino, просто подключите каждый из них к собственному цифровому порту таким же образом. Например, для создания проекта «Блинкер» вы можете взять два красных и синих светодиода, подключив их положительные контакты (длинные ножки) через резистор к контактам 13 и 12 соответственно. Короткие ножки связаны минус — масса.

Схема подключения светодиода Blinker Project Схема подключения светодиодов Blinker Project
Схема подключения светодиодов проекта Blinker

Мы уже знаем, что на плате нас ждут три разъема с таким обозначением («GND»), подключать можно к любому. Если у вас закончились разъемы питания, у нас есть три варианта.

  • Сформируйте необходимые уровни мощности на свободных выводах. Например, подав низкий уровень сигнала на вывод 5 в скетче, мы получим нужный нам «минус» на этом разъеме».
  • Используйте макетную плату, на которой есть отличные возможности для распределения «за» и «против» по ​​общим линиям электропередач (см. Статью на нашем сайте).
  • Используйте специальные платы расширения Sensor Shield, у которых есть отдельные контакты с питанием и заземлением для каждого контакта.

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

Имейте в виду, что подключение более 3 светодиодов вызывает нагрузку на модуль питания платы Arduino. Поэтому не рекомендуется организовывать длительное одновременное включение нескольких светодиодов.

Технологический процесс сборки

Флешер на Arduino легко монтируется на макетную плату, при пайке готового макета особых особенностей нет. Единственное, не стоит забывать о приведенных выше замечаниях по припаянию провода к симистору, чтобы не сжечь дорожки на плате, построив правильный разрыв. В противном случае даже новичок без проблем сможет собрать финальный проект, благодаря его простоте.

Встроенный светодиод в Arduino Uno и Nano

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

Не все «лампочки для белой доски» доступны для управления эскизами. Некоторые из них служат индикаторами обмена данными по определенным протоколам (например, UART), другие информируют о включении и режиме работы платы. Светодиод, подключенный к контакту 13 платы, может включаться и выключаться при включении платы, поэтому его работа определяется встроенным эскизом.

На некоторых версиях плат количество источников света ограничено и 13 контактов не подключены. Это сделано для экономии энергопотребления, ведь светодиодная лампочка всегда приводит к увеличению потребления электроэнергии. В некоторых проектах, где требуется более продолжительное время автономной работы, «прожорливые лампочки» необходимо выбросить.

Как управлять светодиодом на Ардуино

Управление лентой RGB осуществляется путем регулировки диапазона сигналов широтно-импульсной модуляции, что позволяет регулировать силу электрического тока. Сигналы с широтно-импульсной модуляцией кодируются числами в диапазоне от 0 до 255. Этот метод кодирования позволяет использовать 16,8 миллионов различных цветовых оттенков на Arduino RSL.

Для управления светодиодами RGB вам потребуются следующие аксессуары:

  • контроллер Arduino UNO R3, Nano или Mega.
  • RGB-диоды;
  • 3 резистора сопротивлением 220 Ом;
  • проволочные механизмы «плюс-минус”.

Контроллер устройства
Контроллер Arduino UNO R3.

При подключении светодиода к Arduino необходимо подключить отрицательный провод к контакту заземления GND. Синий диод подключается к контакту 13, зеленый — к контакту 12, красный — к контакту 11.

После подключения основных компонентов необходимо открыть программную среду Arduino IDE, подключить плату к персональному компьютеру через USB-кабель и загрузить в микроконтроллер следующий скетч:

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

Белый диод
Белый светодиод.

Команды передаются последовательно между портами. Движение сигналов ШИМ указывается стрелками на светодиодной полосе Arduino. 2 резистора 220 Ом необходимы для предотвращения перегорания порта карты или короткого замыкания.

Перед подключением светодиода RGB к Arduino необходимо измерить расстояние между лентой и микроконтроллером. Если компоненты расположены на большом расстоянии, то нужно приобретать кабели длиной не менее 15 см. Для защиты механизмов от помех рекомендуется подкручивать проводные устройства. Это обеспечит стабильную работу протокола связи.

Для управления светодиодным диодом требуется бесплатная электронная библиотека GyverRGB. Содержит часто используемые команды для упрощения процесса рисования.

Библиотека GyverRGB содержит программные конструкции, которые выполняют следующие функции:

  1. Настройка цвета и оттенков в формате HEX.
  2. Контроль полярности широтно-импульсной модуляции.
  3. Отрегулируйте яркость светодиодов.
  4. Регулирует частоту коррекции ШИМ.
  5. Ограничение подачи электроэнергии.
  6. Плавное изменение цвета при разрядке аккумулятора.

Библиотека GyverRGB поддерживает работу с RGB-диодами, подключенными к плате Arduino одновременно. Он имеет встроенную матрицу коррекции LUT, которая позволяет изменять цветовую гамму с минимальным сигналом ШИМ. Библиотека содержит более 1530 значений для инструмента ColorWheel.

Светодиодный диод
Светодиодные диоды Если после настройки основных параметров программной среды светодиод не загорается, необходимо проверить наличие драйверов для платы Arduino на компьютере.

Для этого вам необходимо выполнить следующую последовательность действий:

  1. Зайдите в диспетчер устройств и найдите столбец с названием микроконтроллера Arduino.
  2. Щелкните вкладку «Подробности”.
  3. В открывшемся списке выберите столбец «Идентификатор оборудования”.
  4. Скопируйте идентификатор устройства в текстовое поле.

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

Материалы

Вариант 1

Для удобства следует разделить список покупок на несколько основных пунктов, в зависимости от того, что мы будем использовать для тех или иных инструментов. Итак, вам потребуется собрать:

  1. Детектор для отслеживания переходов через ноль. Для этой части проекта потребуется H11AA11 с парой резисторов 10 кОм, а также мостовой выпрямитель на 400 В и еще одна пара резисторов на 30 кОм. Для удобства стоит купить 1 разъем и стабилизатор на 5.1 Вольт.
  2. Драйвер лампы. Здесь будет достаточно простого светодиода, а также MOC3021 с резистором 220 Ом (можно больше), а также резистором 470 Ом и 1 кОм и симистором, подойдет версия TIC. Также можно купить другой разъем.
  3. Вспомогательные элементы. Конечно, при пайке не обойтись без проводов и куска печатной платы 6 на 3 см.

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

Вариант 2

Для нашей второй альтернативы нам понадобятся:

1x — резистор 330 Ом
2x — резисторы 33K
1x — резистор 22K
1 резистор 220 Ом
4x — 1N4508 диодов
1x — 1N4007 диоды
1x — стабилитрон 10V.4W
1x — 2,2 мкФ / 63 В конденсатор
1x — конденсатор 220nF / 275V
1x — Ардуино / Ардуино
1x — Оптопара: 4N35
1x — МОП-транзистор: IRF830A
1x — Лампа: 100 Вт
1x — источник питания 230 В
1x — розетка
1x — сварочная доска и сварочный комплект

Скетч для мигания светодиодом

Для того, чтобы светодиодная лента мигала, на плату необходимо загрузить следующий скетч:

В этом эскизе номера портов 11, 12 и 13 заменены именами выводов светодиодов RGB с помощью директивы «define». Это упрощает процесс определения цветовой гаммы для каждого диода. Используя код void loop () и void setup (), создается цикл для попеременного освещения оттенков, указанных на светодиоде RGB.

Матрица RGB
Светодиодная матрица RGB.

Отличие RGB светодиодов с общим анодом и с общим катодом

Светодиоды RGB бывают двух типов: с общим анодом («плюс») и общим катодом («минус»). На рисунке показаны принципиальные схемы этих двух типов светодиодов. Длинная ножка светодиода — это всегда общий кабель питания. Красный (R) провод светодиода расположен отдельно, зеленый (G) и синий (B) — с другой стороны от общего провода, как показано на рисунке. В этой статье мы рассмотрим подключение светодиода RGB как с общим анодом, так и с общим катодом.

Светодиоды RGB с общим анодом и общим катодом
Светодиоды RGB с общим анодом и общим катодом

Программа и режимы

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

Давайте добавим больше режимов наложения цветов, чтобы получить разные оттенки. Следовательно, мы увидим, на что способны светодиоды RGB и почему они так часто используются в современных источниках освещения.

Вы можете самостоятельно добавить любые режимы для светодиода и даже использовать возможности вывода PWM Arduino, чтобы легко менять цвета.

Режим переключения

Режим переключения

Какая программа необходима для устройства

Вы можете скачать готовый код с библиотеками с сайта или написать самостоятельно. К счастью, программа для диммера на Arduino не очень тяжелая, и достаточно учесть, что в прерываниях, которые некоторое время переключаются в симисторе, будет формироваться нулевой сигнал.

Единственное, на что стоит обратить внимание, это использование переменной цикла, ее начальное значение должно быть установлено не на 0, а на 1, а максимальный шаг варьируется от 1 до 5. Поэтому нам подойдут два типа диапазонов измерения: От 2 до 126 и от 0 до 128.

Расшифровываем цвета

Использование интернет-цветов

Если вы занимались программированием в Интернете, вы уже встречали шестнадцатеричное представление чисел. Например, красный имеет номер # FF0000. Вы можете определить, какие числа соответствуют определенному цвету, используя таблицы, подобные этой.

Шесть цифр номера соответствуют трем парам чисел; первая пара — красный компонент цвета, следующие две цифры — зеленый компонент, а последняя пара — синий компонент. То есть выражение # FF0000 соответствует красному цвету, поскольку это будет максимальная яркость красного светодиода (FF — 255 в шестнадцатеричной системе), а красный и синий компоненты равны 0.

Попробуйте включить светодиод, используя, например, оттенок индиго: # 4B0082.

Красный, зеленый и синий компоненты цвета индиго — это 4B, 00 и 82 соответственно. Мы можем использовать их внутри функции setColor со следующей строкой кода:

Для трех компонентов мы используем нотацию, в которой каждому из них предшествует символ «0x» в начале.

Играя с разными тонами RGB-светодиода, не забудьте установить «задержку» после использования каждого из них’.

Подключение RGB светодиода с общим анодомк Arduino

Схема подключения обычного анодного RGB светодиода представлена ​​на рисунке. Подключаем анод к «+5 В» на плате Arduino, остальные три контакта — к произвольным цифровым контактам.

Схема подключения светодиодов RGB с общим анодом к Arduino
Схема подключения светодиодов RGB с общим анодом к Arduino

Обратите внимание, что мы подключаем каждый из светодиодов через отдельный резистор, а не используем общий. Желательно сделать именно это, потому что каждый из светодиодов имеет свой КПД. А если их все соединить через резистор, светодиоды будут светиться с разной яркостью.

Чтобы быстро рассчитать значение сопротивления, соответствующее выбранному светодиоду, вы можете использовать наш онлайн-калькулятор светодиодов.

Схема подключения

Светодиод RGB имеет четыре ножки. Положительный контакт для каждого светодиода и общий контакт, к которому подключены все отрицательные полюса светодиодов (анодов).

Схема светодиода RGB

Общий анод светодиода RGB является вторым по длине контактом. Подключим этот контакт к земле (gnd).

Каждому светодиоду нужен собственный резистор на 270 Ом, чтобы предотвратить протекание чрезмерных токов. Эти резисторы установлены в цепи между катодами (красным, зеленым и синим) и контрольными выводами на нашей Arduino.

Если вы используете обычный анодный светодиод RGB вместо общего катода, более длинный контакт светодиода подключается к контакту + 5V вместо контакта gnd.

Схема подключения светодиодов RGB к Arduino

Схема подключения светодиодов Arduino RGB - фото

Принцип работы транзистора для плавного управления светодиодной лентой

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

Принцип работы транзистора

После подключения транзистора к аналоговому порту Arduino присваиваем ему значение от 0 до 255, меняем напряжение, подаваемое на коллектор или сток, с 0 до 5В. От 0 до 100% опорного напряжения нагрузки будет проходить через цепь коллектор-эмиттер.

Для управления светодиодной лентой Arduino необходимо выбрать подходящий силовой транзистор. Рабочий ток для питания светодиодного измерителя составляет 300-500 мА, для этих целей подойдет биполярный силовой транзистор. Для большей длины требуется полевой транзистор.

Схема подключения светодиодной ленты Arduino:

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

Цвета

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

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

Цветовая палитра RGB

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

Мы можем управлять яркостью каждого светодиода отдельно, смешивая цвета по своему вкусу.

Поскольку черный — это не что иное, как отсутствие света, вы не сможете его получить. Ближайший оттенок черного — когда светодиоды полностью выключены.

Управление RGB лентой с помощью Andurino

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

Схема подключения светодиодов Arduino RGB:

подключиться к led rgb arduino

Ленточный элемент управления Arduino RGB устроен аналогично:

Управление лентой RGB через Arduino
Контроллер Arduino RGB лучше всего собирать на полевых транзисторах.

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

Равномерная регулировка яркости

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

Создание платы

Мы рассмотрим самый дешевый вариант — травление доски в физиологическом растворе, но сначала вам нужно будет наклеить на нее дизайн, который при желании вы можете создать в программе. Дальнейшая сборка не связана с трудностями и секретами, необходимо будет использовать розетки для оптических соединителей и мостовых выпрямителей. Кроме того, при написании текста, чтобы отметить элемент, он должен быть зеркально отражен, поскольку с LUT напечатанный дизайн примет правильную форму на меде и будет перенесен, чтобы вы могли без проблем прочитать все необходимые данные.

Хороший выбор — TIC206, который даст вам солидные 6 ампер. Но здесь стоит учесть, что те проводники, установленные на плате, просто не выдерживают такой силы тока, поэтому тоже стоит припаять провод к проводнику симистора возле разъемов, а вторую часть — к другим разъемам.

Кроме того, при наличии оптрона H11AA11 мостовой выпрямитель использовать нельзя, так как в нем уже есть два непараллельных диода, а также возможность работы с переменными токами. Совместимость с выводами 4N25 позволяет вам просто вставить его в припой с помощью двух перемычек, расположенных между резисторами 5 и 7 на нашей схеме.

Читайте также: Управление шаговым двигателем и схема включения для Ардуино

Оцените статью
Блог про Arduino