
Добрый день или ночь, у кого как. Сегодня я поделюсь инструкцией по изготовления небольшого ночника. Основой послужит – матовый рассеиватель от сгоревшей светодиодной лампочки. А внутрь мы поместим Arduino Pro Mini и светодиоды SW2812. Я выложу только один скетч, но вариантов цветов или переливаний может быть очень много. Начнем, как всегда, со списка необходимого:
- Рассеиватель от светодиодной ламы, цоколь Е27
- Блок питания на 5В
- Arduino Pro Mini 5V
- USB-TTL (для заливки скетча в ардуино)
- Светодиоды WS2812
- Тонкий пластик
- Двусторонний скотч
- Зарядка от телефона не нужная, но рабочая
- Паяльник
- Провода
- Припой, канифоль
- Термоклеевой пистолет
Шаг 1. Изготовление корпуса.
Для начал нам понадобиться добыть рассеиватель. Берем светодиодную лампочку, с цоколем Е27. Лучше, конечно, брать уже отработавшую свое лампочку:

Одной рукой держим лампочку за цоколь и пластиковый корпус, другой - берем за рассеиватель, и надламываем лампочку. Рассеиватель должен легко отойти от корпуса, так как держится только на герметике:

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

Далее изготавливаем и приклеиваем к цилиндру крышку, вырезанную из того же пластика:

На этом пока закончим.
Шаг 2. Электрика.
Как я уже говорил ранее, контролером будет Arduino Pro Mini, версия, работающая от 5 вольт. Светодиодная лента подключается вполне просто, для этого необходимо контакт +5V подключить к плюсу от блока питания на 5 вольт, а GND – к минусу. Контакт DIN (вход) соединить с pin 6 Arduino. Порт подключения ленты можно поменять на любой удобный в скетче. Arduino будем питать от того же блока питания. Так как блок питания будем использовать стабилизированный, соединяем плюс от блока питания с контактом 5V на Arduino. Минус блока питания должен быть подключен к GND Arduino. Схема такая:
Итак, один светодиод, при максимальной яркости всех трех цветов, потребляет 60 мА. У меня поместилось 25, значит получается:
25 х 60 mA = 1500 mA = 1.5 А
То есть, мне нужен блок питания 5 В, 1.5 А. Это максимальный показатель силы тока, который будет при включение все светодиодов в режим максимальной яркости всех трех цветов.
Если кому интересно можно почитать все характеристики в datasheet:
Посмотреть онлайн файл: ws2812b_datasheet_en.pdf
В качестве блока питания возьмем старую зарядку от телефона. Блок питания надо выбирать на 5 вольт, а по мощности, посчитать сколько у вас поместиться светодиодов:

Отрезаем штекер от нее и припаиваем провода напрямую к ленте, не забудьте проверить полярность тестером или мультиметром. Также следует сделать выводы проводов для питания Arduino. И сигнальный провод от ленты к Arduino.
В нижней части цилиндра делаем прорезь, для того чтобы пропустить контакты ленты с припаянными проводами внутрь:

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

Если у вас получилось так же, не расстраивайтесь, просто обрежьте свисающую по краям ленту и припаяйте провода напрямую к светодиодам. Контакты WS2812:
Обратить внимание, светодиодная лента на WS2812B имеет направление, с одной стороны (начало или вход) у нее контакты DIN, +5V, GND. А с другой стороны (конец или выход) DO, +5V, GND. Если припаиваете на прямую к светодиодам, смотри на расположение контактов, ориентируясь на ключ (срез угла). Для упрощения монтажа, на ленте нарисованы стрелки, указывающие на направление. Особое внимание уделите переходу на верх, получается очень резкий изгиб, велика вероятность переломить ленту. У меня получилось вот так:


Сверху припаивался на прямую к светодиодам:

А посередине, вторым уровнем, еще пару светодиодов:

И для надежности, заливаем провода термоклеем:

Теперь вставляем наш цилиндр со светодиодами внутрь шара от лампочки. Используя термоклей, фиксируем цилиндр внутри шара по кругу:

Не забудьте проделать прорезь для вывода наружу провода питания:

Шаг 3. Подготовка среду и прошивка.
Для загрузки скетча (или прошивки) будем использовать Arduino IDE. Скачиваем с официального сайта последнюю версию и устанавливаем ее.
Далее необходимо добавить библиотеку для работы с WS2812 от Adafruit NeoPixel-master:
Чтобы это сделать, вначале скачиваем архив. Затем распаковываем этот архив. И перемещаем распакованные файлы в папку «libraries», которая находится в папке с установленной Arduino IDE. Можно сделать проще. Запускаем Arduino IDE. Не распаковываем скачанный архив. Прямо в среде Arduino IDE выбираем пункт меню Скетч – Подключить библиотеку. В самом верху выпадающего списка выбираем пункт «Добавить .Zip библиотеку». Должно появиться диалоговое окно. Далее в нем выбираем нашу библиотеку, Adafruit_NeoPixel-master. Немного стоит подождать. Снова открываем пункт меню Скетч – Подключить библиотеку. Теперь в самом низу выпадающего списка вы увидите новую библиотеку. Перезагрузив Arduino IDE, библиотеку можно использовать.
Скачиваем мой скетч:
Осталось залить скетч в Arduino. Мы используем Arduino Pro Mini. У этой версии популярной Arduino нет распаянного на плате USB-TTL чипа. Поэтому для связи с компьютером и заливки скетча необходимо использовать отдельный USB-TTL. Подключение по следующей схеме:
Arduino – USB-TTL
RX (P0) – TX
TX (P1) – RX
GND – GND
Питание USB-TTL будет от USB порта компьютера. Arduino можно запитать от USB-TLL или использовать внешний источник питания. Главное, чтобы контакт GND USB-TTL и Arduino были соединены. Чаще всего в продаже попадаются USB-TTL без вывода контакта DTR. Контакт DTR необходимо соединить с Reset Arduino для осуществления автоматической перезагрузки перед загрузкой скетча. Если у вас, как и у меня, такого вывод нет, перезагрузку перед заливкой скетча необходимо выполнять вручную. Действуем так: подключаем всем по схеме, описанной выше, открываем Arduino IDE, открываем скаченный вами скетче, нажимает кнопку – Загрузка – и смотрим что написано внизу. Пока идет «компиляция», ничего не делаем, просто ждем, когда появится надпись «загрузка» нам необходимо нажать кнопку Reset на Arduino. Если не удобно нажимать кнопку на плате, можно вывести кнопку, подключенную к GND и Reset. Или просто вывести провода к тем же выводам и замыкать их в нужный момент.
Хочу сказать, что вариантов свечения ночника огромное множество, я записал в скетч лишь несколько, которые мне самому понравились. Вы можете отредактировать скетч, как вам нравиться. Поэкспериментируйте и выберете то, что вам больше всего понравиться.

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.