Светильник на ардуино своими руками

Добавил пользователь Morpheus
Обновлено: 10.09.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-и секунд заново;
  • если вокруг устройства светло, то лампа всегда остаётся выключенной, даже при обнаружении движения

Компоненты, необходимые для проекта

Ночник с датчиком движения на Arduino

Полный список компонентов, необходимых для этого проекта:

Кроме этих компонентов вам понадобятся также вилка для сети электропитания переменного тока, кабель питания и патрон для лампы.

Внимание! Соблюдайте особую осторожность при работе с током 220В! Все работы по подключению вы выполняете на свой страх и риск!

Ночник с датчиком движения на Arduino

Код проекта для настройки датчика движения

Скачайте или скопируйте следующий код в среду Arduino IDE и загрузите его в плату Arduino.

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

Главное преимущество проектов на Arduino подобных платформах заключается в том, что можно с легкостью повторить чужие удачные проекты в которые люди вложили много времени и поделились бесплатно с другими большим по объему исходным кодом. Сегодня я расскажу про сборку своего варианта проекта "GyverLamp" - одного из самых повторяемых проектов в сети. У данного проекта есть своя страничка на GitHub со всеми инструкциями по подключению, настройке и прошивке данного устройства - в этой статье речь пойдет только о сборке корпуса.

Весть проект выполнен на адресных светодиодных матрицах на чипах WS2812B.

Каждый светодиод у такой матрицы состоит из RGB светодиода и контроллера и благодаря такой начинке у нас есть возможность управлять цветом (яркостью R G B) любого светодиода. Это дает огромные возможности по созданию очень крутых эффектов, но требует больших трудозатрат по написанию кода - поэтому это как раз тот случай когда есть смысл воспользоваться чужими наработками, а не изобретать собственные велосипеды. (благо автор поработал на славу и делится со своими наработками с остальными самодельщиками бесплатно).

Матрицы подключены параллельно - картинка дублируется на каждую сторону плафона. Для согласования логических уровней 3.3V->5V была использована микросхема 74HCT125N (то что удалось найти в местном магазине радиоэлектроники). Без конвертора 4 матрицы подключённые параллельно у меня не запустились. Прошивка GyverLamp2 поддерживает светомузыку - поэтому под нее оставлен отдельный разъем.

Корпус лампы выполнен из молочного акрилового оргстекла толщиной 3мм - под блоком питания прорезаны отверстия для вентиляции

Читайте также: