Светильник на ардуино своими руками
Добавил пользователь Владимир З. Обновлено: 05.10.2024
В этом уроке мы создадим стильный светильник с управлением адресными светодиодами NeoPixel с помощью ИК-пульта и/или энкодера с памятью, выполненный в стиле атрибутики известного супергероя.
Светильник поддерживает смену режимов, а так же изменение уровня яркости светодиодов.
Видео:
Нам понадобится:
- 1х Arduino / Piranha Pro Mini(с колодкой / без колодки);
- 1х USB-UART преобразователь;
- 4х Trema-модуль Адресный светодиод NeoPixel;
- 1х Trema-модуль Энкодер с памятью;
- 1х Trema-модуль ИК-приёмник;
- 1х Пульт ДУ;
- 1х Расширитель выводов I2C;
- 2х Комплект силиконовых проводов(толстая жила);
- 1х Источник питания(вариант 1 / вариант 2);
- 1х Комплект нейлоновых стоек 20мм;
- 7х Комплект нейлоновых стоек 8мм;
- 8х Комплект нейлоновых винтов 8мм;
- ПВХ-конструктор(или любой другой подходящий материал: фанера, плотный картон и т.д.);
Для реализации проекта необходимо установить библиотеки:
-
— для для работы с ИК-приёмопередатчиками. — для работы с адресными светодиодами NeoPixel;
О том, как устанавливать библиотеки, Вы можете ознакомиться на странице Wiki - Установка библиотек в Arduino IDE.
Описание работы светильника:
После подачи питания светильник готов к работе.
Для включения светильника нажмите центральную клавишу на пульте ДУ или на кнопку энкодера.
Светильник имеет следующие режимы работы светодиодов:
- Перелив всеми цветами радуги;
- Случайное включение случайным цветом;
- Смена одного цвета на другой;
- Имитация пламени;
- Один цвет на выбор по порядку(красный, зелёный, синий, жёлтый, фиолетовый, голубой, белый);
Для того, чтобы изменить уровень яркости светильника достаточно нажать на пульте ДУ кнопки "вверх"/"вниз" или покрутить ручку энкодера в одну или в другую сторону.
Для того, чтобы изменить режим работы, нажмите на пульте ДУ кнопки "влево"/"вправо". На энкодере для смены режима необходимо сначала нажать на кнопку и не отпуская её вращать ручку вправо или влево.
Схема сборки:
Arduino / Piranha Pro Mini:
Чтобы подключить Arduino/Piranha Pro Mini к компьютеру, воспользуйтесь USB-UART преобразователем.
Адресные светодиоды(кликабельно):
Подключите адресные светодиоды NeoPixel к Arduino/Piranha Pro Mini к выводу D5 , а питание модуля к I2C Hub'у:
Все используемые в уроке Trema-модули NeoPixel соединены друг c другом, а первый модуль можно подключить к любому выводу Arduino. Номер вывода указывается в скетче (в примере используется вывод D5 ). Чем больше модулей в цепи, тем больше тока она потребляет!
ИК-приёмник(кликабельно):
Подключите ИК-приёмник к Arduino/Piranha Pro Mini к выводу D7 , а питание модуля к I2C Hub'у:
Энкодер с памятью(кликабельно):
Подключите Энкодер с памятью к Arduino/Piranha Pro Mini к следующим выводам: D2 (pinT), D3 (pinK), D4 (pinR), а питание модуля к I2C Hub'у:
Питание(кликабельно):
Подключите питание от источника питания к I2C Hub'у, а от него к Arduino/Piranha Pro Mini :
Схема корпуса(кликабельно):
Корпус состоит из следующих частей:
- Лицевая часть светильника;
- Подставка;
- Задняя стенка светильника с отверстием под энкодер;
- Дополнительный упор для задней стенки;
- Кронштейн для установки светильника на стену;
Код программы (скетч):
Алгоритм работы скетча:
До кода void setup() определяются переменные, подключаются необходимые библиотеки.
Особо стоит отметить флаг encoder_use — если вы выбрали настенный вариант исполнения, то флаг необходимо установить в значение false , а если настольный вариант, то в значение true .
В коде void setup() настраиваются выводы энкодера(если используется), инициализируются ИК-приёмник и адресные светодиоды NeoPixel. Светодиоды гасятся.
Материалы
Многие элементы конструкции, особенно это относится к корпусу, могут быть изготовлены из других компонентов, которые есть под рукой, но если вы собираетесь следовать данному руководству, есть несколько ключевых элементов:
- Плата Arduino (мы использовали Nano, но подойдет и любая другая); ;
- Адаптер питания 5V;
- Светодиодная полоса;
- Для корпуса была выбрана самая высокая Droppar банка из IKEA. Вы можете использовать для этих целей что угодно;
- Отрезок ПВХ трубы для размещения светодиодов.
Подключение компонентов
Звездой нашего шоу является детектор звука. Он подает аналоговый сигнал на плату, который мы и будем использовать для управления светодиодами. Естественно, для работы всей системы необходимо питание. Радует, что и детектор, и плата требуют 5 V.
После подключения к адаптеру питания, нам остается соединить все три компонента друг с другом.
Светодиодной полосе нужен цифровой сигнал. Поэтому мы подключаем ее к одному из цифровых портов. Мы использовали шестой порт, но также, как и в случае с подключением детектора звука, какой именно порт использовать – значения не имеет.
Возможно, наиболее важной частью всего проекта, является именно код. Ведь именно от него зависит, как именно будут вести себя светодиоды.
В нашем коде мы использовали не пиковые, а средние значения интенсивности звука. Сделано это было для более плавных переходов свечения. Если же использовать пиковые значения, мы получим более резкий и ломаный эквалайзер.
Сборка
После подключения всей электроники и загрузки кода, переходим к сборке. Мы воспользуемся тем, что труба ПВХ полая и разместим всю электронику внутри. Светодиодную ленту мы закрепим на внешней стороне трубы.
Корпус
Для крепления всех внутренностей внутри корпуса нам необходимо сделать отверстие в нижней крышке. В нем мы и закрепим трубу со светодиодами. После застывания клея остается только надеть матовый стеклянный колпак.
На этом все. Наш проект полностью готов к работе. Остается только включить любимую музыку и любоваться полученным результатом.
В ходе этого проекта вы создадите устройство для охранного освещения на основе модуля с реле, фоторезистора и платформы Arduino.
Охранное освещение срабатывает только в темноте при обнаружении движения.
Основные характеристики устройства:
- лампа загорается, когда вокруг темно и обнаружено движение;
- после обнаружения движения лампа горит 10 секунд;
- если лампа включена и снова обнаружено движение, устройство начинает отсчёт 10‑и секунд заново;
- если вокруг устройства светло, то лампа всегда остаётся выключенной, даже при обнаружении движения
Компоненты, необходимые для проекта
Полный список компонентов, необходимых для этого проекта:
Кроме этих компонентов вам понадобятся также вилка для сети электропитания переменного тока, кабель питания и патрон для лампы.
Внимание! Соблюдайте особую осторожность при работе с током 220В! Все работы по подключению вы выполняете на свой страх и риск!
Код проекта для настройки датчика движения
Скачайте или скопируйте следующий код в среду Arduino IDE и загрузите его в плату Arduino.
Предупреждение: не загружайте новый код в плату Arduino, когда лампа подключена к сети электропитания. Вы должны отсоединить лампу от сети электропитания перед загрузкой нового примера в плату Arduino.
Главное преимущество проектов на Arduino подобных платформах заключается в том, что можно с легкостью повторить чужие удачные проекты в которые люди вложили много времени и поделились бесплатно с другими большим по объему исходным кодом. Сегодня я расскажу про сборку своего варианта проекта "GyverLamp" - одного из самых повторяемых проектов в сети. У данного проекта есть своя страничка на GitHub со всеми инструкциями по подключению, настройке и прошивке данного устройства - в этой статье речь пойдет только о сборке корпуса.
Весть проект выполнен на адресных светодиодных матрицах на чипах WS2812B.
Каждый светодиод у такой матрицы состоит из RGB светодиода и контроллера и благодаря такой начинке у нас есть возможность управлять цветом (яркостью R G B) любого светодиода. Это дает огромные возможности по созданию очень крутых эффектов, но требует больших трудозатрат по написанию кода - поэтому это как раз тот случай когда есть смысл воспользоваться чужими наработками, а не изобретать собственные велосипеды. (благо автор поработал на славу и делится со своими наработками с остальными самодельщиками бесплатно).
Матрицы подключены параллельно - картинка дублируется на каждую сторону плафона. Для согласования логических уровней 3.3V->5V была использована микросхема 74HCT125N (то что удалось найти в местном магазине радиоэлектроники). Без конвертора 4 матрицы подключённые параллельно у меня не запустились. Прошивка GyverLamp2 поддерживает светомузыку - поэтому под нее оставлен отдельный разъем.
Корпус лампы выполнен из молочного акрилового оргстекла толщиной 3мм - под блоком питания прорезаны отверстия для вентиляции
Читайте также: