4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

RGB светодиодная подсветка на Arduino для пианино

RGB светодиодная подсветка для пианино

Недавно я немного поэкспериментировал со светодиодами и моим контроллером Arduino. И ко мне пришла замечательная идея – сделать подсветку из RGB светодиодных лент для пианино. RGB светодиоды излучают свет, который отражается от стен за пианино, создавая потрясающий световой эффект. В устройство также входит схема с акустическим датчиком, под управлением которой RGB светодиоды меняют цвет в зависимости от громкости музыки, издаваемой пианино!

Поскольку до сих пор такую идею никто не реализовал и не выложил в сеть Интернет, я продемонстрирую свою. В связи с этим мне понадобилось немного поэкспериментировать. Но все мои труды были щедро вознаграждены; мое пианино с RGB светодиодной подсветкой выглядит замечательно и прекрасно дополняет рождественскую елку!

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

Шаг 1: Компоненты проекта

Требования:

  • Знание электроники
  • Небольшой опыт работы с контроллером Arduino

Сложность: Средняя (установка, реагирующих на звук пианино RGB светодиодов, требует определенного опыта).

Цена: Для меня устройство обошлось примерно в $7, поскольку там, где я живу, все очень дешево стоит.

Время выполнения проекта: Неделя или около 6 часов непрерывной работы.

Материалы:

  • Плата Arduino
  • RGB светодиодная лента (3м)
  • Транзисторы 2N2222 — 6 штук.
  • Резисторы – 220 Ом (6 штук).
  • Операционный усилитель LM358 или LM324 – Я использовал LM324, поскольку он просто был у меня под рукой
  • Электретный микрофон – также называемый емкостной микрофон

Опыт, который вы получите от данного проекта:

  • Управление RGB светодиодными лентами посредством контроллера Arduino.
  • Возможность научиться посредством контроллера Arduino измерять уровень окружающего шума – с помощью электретного микрофона с операционным усилителем.
  • Заставить RGB светодиоды реагировать на звук – даже если у вас НЕТ пианино. Данный проект продемонстрирует, как заставить RGB светодиоды изменять цвет в зависимости от звука, и полученный опыт можно будет использовать на вечеринках, дискотеках, для рождественских деревьев и т.д.

Шаг 2: Создание транзисторной схемы

Транзисторы предназначены для усиления тока от контроллера Arduino для светодиодной ленты. Я использовал транзисторы 2N2222, поскольку они рассчитаны на ток до 600мА. Этого вполне достаточно для обеспечения яркости светодиодной ленты длиной 1 метр.
Следовательно, для ленты длиной 2м нам потребуется шесть транзисторов (3 для каждой ленты – из красных, зеленых и синих светодиодов). Смотрите выше диаграмму Fritzing и мою схему, чтобы собрать транзисторную схему на макетной плате.

Шаг 3: Подготовка RGB светодиодной ленты

Для данного проекта необходимо две RGB светодиодные ленты длиной 1м, то есть лента общей длиной 2 метра. Начните с 1 метровой ленты. Припаяйте провода, как показано на первом изображении. Затем заизолируйте место пайки с помощью изоляционной ленты. Также можно заизолировать провода, как показано на последнем изображении; это поможет облегчить их подсоединение к макетной плате.

Шаг 4: Подготовка электретного микрофона

Определение полярности:

Сначала необходимо определить, какой из выводов положительный «+», и какой из них отрицательный «-«. Используя прибор для контроля целостности цепей определите какой из выводов микрофона подсоединен к внешнему металлическому кожуху. Этот вывод – земля, а второй «+».

Припаивание проводов к микрофону:

Припаяйте провода (длиной около 15 см) к микрофону, как показано выше. Я использовал зеленый провод в качестве заземляющего вывода, и желтый в качестве положительного вывода «+».

Шаг 5: Создание схемы усиления микрофона

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

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

Смотрите схему и изображения для этой цепи.

Шаг 6: Подсоединение к Arduino

Читать еще:  Нужна схема к умной светодиодной лампе

Вы может купить джамперы типа папа-папа, но я сделал их самостоятельно, используя контактный соединитель и несколько обычных перемычек. Смотрите 2-е изображение. Обратитесь к схеме Fritzing и изображениям, которые демонстрируют, как подсоединить контроллер Arduino к макетной плате схемы.

Шаг 7: Тестирование RGB светодиодной ленты

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

Примечание: Если вы используете не Non-Mega плату (как Uno), не забудьте изменить выходные выводы для светодиода на ШИМ совместимые выводы на вашей плате (для Uno будут задействованы выводы 2, 3 и 4).

Шаг 8: Тестирование и калибровка схемы усиления микрофона

Тестирование схемы усиления:

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

Использование Arduino для тестирования: Это более точный метод проверки. Загрузите скетч AnalogReadSerial в Arduino.

(File > Examples > AnalogReadSerial)- (Файл > Примеры > AnalogReadSerial)

Теперь откройте Processing (обработка) и скопируйте код, указанный внизу (graph_line.pde). Затем запустите программу Processing. Как только Arduino отправит значения вывода A0 через USB, программа обработки определит эти значения на диаграмме «аналоговые значения – время» в диапазоне от 0 до 1023.

Когда вы хлопните в ладоши или немного пошумите, крутизна сигнала на диаграмме станет соответственно выше.

Шаг 9: Загрузка кода в контроллер Arduino

Скопируйте код из файла ниже в окно среды разработки IDE Arduino. Перед загрузкой, заметьте, что если вы используете non-mega плату, измените выходные выводы светодиода на 2, 3 и 4.

Код обновлен 27 декабря 2014: piano_new_way.ino

Шаг 10: Установка RGB светодиодных лент на пианино

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

Шаг 11: Подсоединение светодиодной ленты

Подсоедините каждую ленту к транзисторной задающей схеме на макетной плате, как показано выше. Вы можете использовать схемы Fritzing, показанные на предыдущих шагах. Обычно каждый канал (R, G и B) подсоединяется к коллектору каждого транзистора.

Шаг 12: Окончание!

Подсоедините положительный провод 12В источника питания к «+» проводу каждой RGB светодиодной ленты, и также «Vin» вашей платы Arduino. Заземляющий провод подсоединяется к земле Arduino.

Ну вот, теперь может подать питание, и ваша RGB светодиодная лента красиво загорится позади вашего пианино! Игра на пианино приведет к изменению цвета огней в зависимости от громкости вашей игры.

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

RGB светодиодная подсветка на Arduino для пианино

УПРАВЛЯЕМ RGB СВЕТОМ С ARDUINO

RGB светодиод или лента – очень крутая штука, ведь используя даже 8-ми битный ШИМ (0-255) мы можем получить 16.7 миллионов цветов и оттенков! Рассмотрим подключение светодиодов и лент к Arduino.

Светодиоды

Светодиоды можно питать от пинов Arduino, естественно через токоограничивающий резистор на 150-300 Ом (больше – меньше яркость). Для плавного управления яркостью каждого канала подключать нужно к ШИМ пинам (D3, D5, D6, D9, D10, D11 на Arduino Nano/UNO/Pro Mini). Светодиод с общим катодом подключается общей ногой на GND, с общим анодом – на VCC (т.е. на 5V).

Светодиодные ленты через драйвер

RGB светодиодные ленты обычно имеют общий анод, т.е. общий канал 12 Вольт.

Для управления цветом можно использовать так называемый LED amplifier (бывает RGB и RGBW). Купить на Aliexpress

Светодиодные ленты через транзисторы

Вместо драйвера можно использовать полевые транзисторы, схема вот такая:

Какие транзисторы? Вот мой список транзисторов в корпусах to220: IRF3704ZPBF, IRLB8743PBF, IRL2203NPBF, IRLB8748PBF, IRL8113PBF, IRL3803PBF, IRLB3813PBF, IRL3502PBF, IRL2505PBF, IRF3711PBF, IRL3713PBF, IRF3709ZPBF, AUIRL3705N, IRLB3034PBF, IRF3711ZPBF

В корпусах D-PAK: IRLR024NPBF, IRLR024NPBF, IRLR8726PBF, IRFR1205PBF, IRFR4105PBF, IRLR7807ZPBF, IRFR024NPBF, IRLR7821TRPBF, STD60N3LH5, IRLR3103TRPBF, IRLR8113TRPBF, IRLR8256PBF, IRLR2905ZPBF, IRLR2905PBF

Также можно распаять платку

БИБЛИОТЕКА GYVERRGB

GyverRGB v1.16

Мощная библиотека для удобного управления RGB светодиодами и лентами для Arduino

  • 1530 значений для colorWheel
  • Работа в пространстве RGB
  • Работа в пространстве HSV
  • Установка цвета в формате HEX
  • Установка цветовой температуры
  • 16 предустановленных цветов
  • Настройка полярности ШИМ
  • Функция плавной смены цвета
  • Ограничение тока (по расчёту)
  • Регулировка общей яркости
  • Поддержание яркости LED ленты по мере разряда АКБ
  • Возможность управления 6-ю RGB диодами/лентами с одной Arduino (встроенный генератор ШИМ на ВСЕХ 20 пинах atmega328)
  • Режим с настройкой частоты ШИМ
  • Матрица коррекции LUT
  • Коррекция по минимальному сигналу ШИМ
  • CRT гамма-коррекция яркости
Читать еще:  Светодиодные новогодние звезды

Поддерживаемые платформы: все Arduino (используются стандартные Wiring-функции)

RGB светодиодная подсветка на Arduino для пианино

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

Материалы:
— Arduino
— 2 метра светодиодной ленты RGB
— Транзисторы 6 шт (2N2222)
— Резисторы 6 шт (220 Ом)
— Операционный усилитель LM324 (можно использовать и LM358)
— Электретный микрофон

Шаг первый. Транзисторная схема.
Транзисторы усиливают ток от Arduino для ленты. Автором используются транзисторы 2N2222, так как они рассчитаны на ток до 600 мА. Этого хватит для яркости метровой светодиодной ленты. Значит, для длинны 2 метра требуется шесть транзисторов (три для каждой). Ниже видно фото сборки и схему.

Шаг второй. Подготовка светодиодной ленты.
В проекте используются две RGB ленты длиною в 1 м, получается длинна общей ленты составляет 2 м. Подготовительная работа начинается с 1 метровой ленты. Провода припаивают согласно первому фото, место пайки изолируют. Изолирование проводов как на третьем фото поможет подсоединить их к макетной плате.

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

Шаг четвёртый. Схема усиления микрофона.
Так как микрофон сам по себе передаёт достаточно слабый сигнал, потребовался операционный усилитель для наращивания сигнала к Arduino, чтобы можно было считать сигналы с его аналогового выхода.
Автор использует операционный усилитель LM324, который имеет четыре канала, однако, в проекте используется всего один. Лучше использовать двухканальный усилитель LM358 с аналогичной цепью, отличаются только выводы питания. Ниже видно схему, и фотографии для данной цепи.

Шаг пятый. Подключение к Arduino.
Для подключения понадобятся соединительные провода «папа-папа», автор такие джамперы сделал самостоятельно (второе фото), использовав несколько перемычек и контактный соединитель. Подключение макетной платы к микроконтроллеру Arduino происходит согласно схеме, и фото.

Шаг шестой. Тестирование ленты.
Перед тем как продолжать работу над проектом автор решил удостовериться в правильности сборки и проверить работу RGB ленты с задающей схемой. Скетч, прикреплённый под статьёй, загружается в Arduino.
Примечание от автора: если используется не Non-Mega плата (например, как Uno), нужно заменить выходные выводы для светодиода на ШИМ. Для Uno совместимыми выводами будут 2, 3 и 4.

Шаг седьмой. Тестирование схемы микрофона.
Эта процедура требуется для проверки работы схемы усиления микрофона. К выводу 1 усилителя автор подсоединил светодиод, и следил за изменениям его яркости в зависимости от громкости звука.

Использование Arduino для теста:
Это является более точным методом проверки. В микроконтроллер загружают скетч AnalogReadSerial (File > Examples > AnalogReadSerial). Далее, открывается Processing (обработка), туда автор копирует код graph_line.pde (код в архиве под статьёй), и запускает программу. Когда Arduino отправляет значения вывода A0 через USB, программа определяет эти значения на своей диаграмме с диапазоном от 0 до 1023. Издавая различный шум и повышая его громкость, крутизна сигнала возрастает, и диаграмма подтверждает это.

Шаг восьмой. Программный код.
Код из файла piano_new_way.ino копируют в окно IDE Arduino. Автор напоминает что в non-mega плате следует изменить выводы выхода светодиода на 2, 3 и 4.

Шаг девятый. Установка лент на пианино.
Для закрепления светодиодных лент к задней стороне пианино автор использовал обычный и двухсторонний скотч. Он используется для того чтобы не повредить поверхность пианино, и для возможности снять ленту в будущем. Закрепляется лента так чтоб проводные коннекторы для каждой из них были доступны сверху инструмента.

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

Читать еще:  Стол со светодиодной информативной подсветкой + бинарные часы

Шаг одиннадцатый. Финальная часть.
Положительный провод 12В от источника питания подключается к положительному проводу каждой ленты, и к «Vin» платы Arduino. Провод заземления подсоединяется к земле Arduino.
Теперь подаётся питание, и RGB лента загорается ярким огнём позади пианино. Игра на инструменте приводит к изменению цвета светодиодов, в зависимости от громкости звука.
Этот проект необязательно использовать только при наличии пианино, он также подойдёт везде где есть музыка, и разместить их можно в любой части дома.

Видео демонстрирующее смену цветов при игре на пианино:

Подключение RGB светодиода к Ардуино

RGB светодиод Ардуино ► в примерах будем использовать цифровые и аналоговые выходы с широтно импульсной модуляцией на Arduino для включения RGB Arduino.

На этом занятии мы будем использовать цифровые и аналоговые выходы с «широтно импульсной модуляцией» на плате Arduino для включения RGB светодиода с различными оттенками. Использование RGB LED ленты позволяет создать освещение интерьера с любым оттенком цвета. Расскажем про устройство и распиновку полноцветного (RGB) светодиода и рассмотрим директиву #define в языке C++.

Устройство и назначение RGB светодиода


Для отображения всей палитры оттенков вполне достаточно три цвета, используя RGB синтез (Red — красный, Green — зеленый, Blue — синий). RGB палитра используется не только в графических редакторах, но и в сайтостроении. Смешивая цвета в разной пропорции можно получить практически любой цвет. Преимущества RGB светодиодов в простоте конструкции, небольших габаритах и высоком КПД светоотдачи.

RGB светодиоды объединяют три кристалла разных цветов в одном корпусе. RGB LED имеет 4 вывода — один общий (анод или катод имеет самый длинный вывод) и три цветовых вывода. К каждому цветовому выходу следует подключать резистор. Кроме того, модуль RGB LED Arduino может сразу монтироваться на плате и иметь встроенные резисторы — этот вариант более удобный для занятий в кружке робототехники.

Фото. Распиновка RGB светодиода и модуль с RGB светодиодом для Ардуино

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

Управление RGB светодиодом на Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • RGB светодиод;
  • 3 резистора 220 Ом;
  • провода «папа-мама».

Фото. Схема подключения RGB LED к Ардуино на макетной плате

Модуль «RGB светодиод» можно подключить напрямую к плате, без проводов и макетной платы. Подключите модуль с полноцветным RGB светодиодом к следующим пинам: Минус — GND, B — Pin13, G — Pin12, R — Pin11 (смотри первое фото). Если вы используете RGB LED (Light Emitting Diode), то подключите его по схеме на фото. После подключения модуля и сборки схемы на Ардуино загрузите скетч в плату.

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

Пояснения к коду:

  1. с помощью директивы #define мы заменили номер пинов 11, 12 и 13 на соответствующие имена RED , GRN и BLU . Это сделано для удобства, чтобы не запутаться в скетче и понимать какой цвет мы включаем;
  2. в процедуре void loop() мы поочередно включаем все три цвета на RGB.

Плавное управление RGB светодиодом

Управление rgb светодиодом на Arduino можно сделать плавным, используя аналоговые выходы с «ШИМ». Для этого ножки светодиода необходимо подключить к аналоговым выходам, например, к пинам 11, 10 и 9. И подавать на аналоговые выходы микроконтроллера различные значения ШИМ (PWM), для этого воспользуемся циклом for, с помощью которого можно повторять нужные команды в программе.

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

Пояснения к коду:

  1. с помощью директивы #define мы заменили номера пинов 9, 10 и 11 на соответствующие имена RED , GRN и BLU . Это сделано для удобства, чтобы не запутаться в скетче и понимать какой цвет мы включаем;
  2. пины 9, 10 и 11 мы использовали, как аналоговые выходы analogWrite .

Заключение. Аналоговые выходы на Ардуино используют «широтно импульсную модуляцию» для получения различной силы тока. Мы можем подавать на все три цветовых входа на светодиоде различное значение ШИМ-сигнала в диапазоне от 0 до 255, что позволит нам получить на RGB LED Arduino практически любой оттенок света. Если у вас остались вопросы — оставляйте их в комментариях к этой записи.

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector