Здравствуй, сообщество!
Представляю собственную реализацию светильника-ночника в виде облака. Основная идея – сделать ночник с имитаций естественных природных процессов и какой-нибудь интерактивностью. Природа – лучший вдохновитель!
За основу взял дешёвый микроконтроллер ATmega8-16PU. Код написан на С без Ардуино и реализует несколько световых эффектов с управлением от общей освещённости пространства и с управлением звуком.
Подробности и фотки — далее…
Электронные подробности
Схема, кроме микроконтроллера, имеет 6 одноцветных светодиодов, один RGB светодиод, датчик освещённости (фоторезистор) и микрофон с усилителем и ВЧ-фильтром.
Для плавного изменения яркости светодиодов используется ШИМ. Частота ШИМ равна 244 Гц при 64-х уровнях, бывает, что некоторые люди её видят. Увеличить частоту не получается – нужно ещё процессорное время для работы. Поэтому для сглаживания импульсов ШИМ применена схема на транзисторном повторителе со сглаживающим конденсатором. Транзистор взят с большим коэффициентом усиления, для увеличения входного сопротивления и уменьшения требуемой ёмкости. В итоге 1 мкФ оказалось вполне достаточно, импульсы сглаживаются почти полностью. Преимущества – дешевле, чем ЦАП и имеет большой выходной ток. Недостаток схемы – нелинейная зависимость яркости от уровня ШИМ на малых уровнях (до 15%).
Схема сглаживания ШИМ. 4 диода примерно = 1 белый светодиод по ВАХ
График тока и напряжения на светодиоде при 56% ШИМ.
Миниатюрный электретный микрофон через усилитель на двух транзисторах с выделением импульса (ВЧ фильтр) подключен к дискретному входу МК, уверенно ловит резкие звуки — хлопки в ладоши.
Плату начертил и развёл в DipTrace, сделал ЛУТом, детали в основном smd. Травление делал в «убийце хлорного железа»: Перекись водорода + соль + лимонная кислота, получилось с первого раза, рекомендую. Здесь написаны все любительские способы.
Плата, сделанная ЛУТом
Питание сделал через USB-разъём, что позволяет подключать в любой USB-порт. Максимальное потребление 78 мА.
В предыдущих версиях на кабеле была микрокнопка для настроек режимов, но потом её убрал, так как не дотянуться, если облако под потолком.
Связи по USB нет, в МК нет USB, да и вроде не нужно в законченном изделии. Для отладки использовал UART контроллера, в коде реализован обмен с компьютером, но там банально
В процессе пайки
ЛУТ, пайка, написание программы, тесты и переделки, подгонка таймеров и коэффициентов заняло 3 недели.
Общий вид
В итоге реализовал 3 режима свечения и световых эффектов. Старался, чтобы было поинтереснее лава-лампы, но и не стало диско-цветомузыкой с свистелками-перделками.
Режимы:
Основной – ночник в виде облака. Разные части облака в случайном порядке плавно изменяют яркость, период изменения тоже случайный (4...25 сек), вид изменения – экспоненциальное сглаживание от задания (подробнее могу в комментах рассказать). Выглядит в целом, при доле воображения, как переливы света в настоящем облаке, когда оно закрывает Солнце. Максимальный уровень яркости зависит от уровня освещения согласно графику. Я подбирал разные зависимости, был вариант с выбором зависимости по кнопке, но остановился на одной этой.
График зависимости яркости облака от внешнего освещения.
Так как при внешней темноте (ночь) облако почти не светится, а кратковременный яркий свет может понадобиться (например, встать ночью), то для этого придумал подрежим «Яркое облако». Он включается при двух хлопках в ладоши, здесь и используется микрофон, так как кнопки обычно вне досягаемости. Облако светится на полную яркость в течение минуты, также с переливом, потом плавно возвращается на основной режим облака согласно освещённости.
Режим облака, первые пробы. Видео ускорено в 5 раз
Гроза – включается при резком снижении внешнего освещения (но не до полной темноты, чтобы не било по глазам в темноте) или трёх хлопках. Вспыхивают случайные светодиоды (от одного до 4х), со случайной паузой между вспышками. Немного заморочился и сделал «пробеги» молнии в облаке, когда светодиоды вспыхивают по временной цепочке. Тоже выглядит довольно похоже на грозу. Из-за режима грозы пришлось находить компромисс фильтрации ШИМ, чтобы вспышки получались резкие (77 мс). Длительность «грозы» зависит от внешнего освещения – чем темнее, тем дольше, от 4-х до 12-ти вспышек.
Рассвет – включается при резком возрастании внешнего освещения. Самый сложный в настройке режим, получить «естественную смену цветов Солнца при рассвете в лёгкой дымке» было непросто. Балансировать RGB светодиод приходилось вручную почти на каждый уровень ШИМ, и подбирая зависимости. Но в итоге более-менее интерполяционную формулу получил. Рассвет длится 40 секунд, потом переход на обычный режим.
Рассвет
Электроника и программная часть для интересующихся:
Архив с исходниками
Схема в pdf
Разводка платы, одна сторона
Конструктив
Конструкция облака довольно простая, мной сделана из синтепуха (одна подушка 40х40 см), плата размещена внутри на подвесах из ниток. Светодиоды расположил по возможности равномерно в объёме, ну и RGB-светодиод – снизу, а фотодатчик сверху.
В процессе облепливания пухом
Были сложности в фиксации синтепуха, так как он покрыт силиконом для противодействия слёживанию. Нижняя часть облака поддерживается узкими полосками скотча на проволочной рамке.
Вопросы, замечания, предложения пишите в комментариях.
Всем отличной погоды!
Комментарии (26)
gudvinr
11.11.2018 00:44Пух выглядит весьма неэлектробезопасно. Особенно учитывая то, что плата никак не герметизирована, как и светодиоды.
Что будет в случае нагрева или КЗ вследствие неплотного контакта?Affdey Автор
11.11.2018 01:31Плата под лаком. Светодиоды проверены, нагрев не больше +5° от окружающей среды. Волокна из полиэфира, температура плавления 245°С. Пух на искру не проверял, пламя от зажигалки выдерживает 5 секунд, потом загорается.
mirsev
11.11.2018 03:43+1Пыль собирать не будет? Может под колпак лучше?
Shamrel
11.11.2018 05:46Вот тоже подумал. Идея и результат интересные, но через пару месяцев из этого облака такой пылесборник получиться.
Affdey Автор
11.11.2018 10:46Тестовый вариант висит уже второй месяц, пока не заметно. Наверно пыль будет собирать, но можно аккуратно выдуть или слабым пылесосом собрать. Пух склеен, должен выдержать, не проверял.
big_ear
11.11.2018 10:47Автору спасибо за идею+ совет такое изобретение хорошо себя зарекомендует на театральных сценах да и на других сценах только, чтобы заинтересовать более широкий круг специалистов, хорошо бы прикрутить к сему изобретению протокол DMX-512 где джамперами выставить адрес начала приёма команд.
ну и придется повысить мощность каждого светодиода до 10w…
тогда такая конструкция приобретет кучу заказчиков…Affdey Автор
11.11.2018 10:57+1Это же совсем другое. Там проще решить по-другому, узким лучом прожектора освещать кубометр ваты (кстати, больше поулметра — пух разваливается без поддержек). Не думаю, что для постановки будут заморачиваться на долговременное изделие с ПО, командами. Всякое бывает, арт-проекты разные, если кого-то знаете...))
maverickcy
11.11.2018 23:02Узкий луч прожектора на лампе 7r прожигает куртку на ура. Проверено.
Affdey Автор
12.11.2018 17:22узкий всмысле под размер театрального реквизита — ну метр-полтора в диаметре.
LightMorj
11.11.2018 10:57Очаровательный пылесборник — ваши женщины вас побьют.
Следовало завернуть хотя бы в такое www.аквалюбитель.рф/akvarium-kruglij-6-5l.html
Конечно, интересно создать своё, но с практической точки зрения оптимальней было использование светодиодная лампа RGB с пультом при необходимости можно и прошивку поменятьAffdey Автор
11.11.2018 11:00Не, визуально колпак всё испортит. это как комнатные растения под колпак сунуть.
Ig_B
11.11.2018 14:37Если уж используете транзисторы в усилительном режиме, хоть поставьте операционник для стабилизации тока.
gag_fenix
12.11.2018 02:52+1Плюсану, но справедливости ради, все началось еще лет пять назад с этой идеи: www.richardclarkson.com/shop/cloud
Но автор хотел сначала 5k$ (теперь 3k$), и умельцы DIY-щики начали мастерить их из ваты или синтепона. Я своё сделал из икеевского абажура, светодиодной ленты и добавил датчик AS3935, что детектировать настоящую грозу.StroboNights
12.11.2018 04:10Вот так вот, рано я автора похвалил, получается; я-то думал, у автора данной статьи идея оригинальная, а оказывается вот оно что. Имхо, раз уж «подсмотрел» что-то у кого-то, то хотя бы можно было упоминание сделать в тексте. Не указывать же источник вовсе, мягко говоря, не красиво.
Affdey Автор
12.11.2018 17:27Идея не оригинальная, но этого источника я не видел. И не пытался повторить чей-то проект. Зря вы так сразу обвиняете)
StroboNights
12.11.2018 20:31Если Вы написали правду, то в таком случае прошу прощения. Но это также означает то, что перед воплощением задумки в железе Вы не гуглили вообще. Странно это все.
StroboNights
Класс. Ваша идея сама по себе очень оригинальная и свежая; а еще воплощение в железе понравилось — пусть и грубовато немного, зато у Вас это самый настоящий DIY. Имхо, видео Вашего девайса в работе (в режиме Demo, например) где-нибудь на youtube было бы не лишним.
Affdey Автор
Спасибо! Процессы довольно медленные, кроме грозы, видео будет долгим), а gif из фоток — в статье. youtuba нет.
warranty_voider
>в режиме Demo, например
думаю имелся в виду режим, когда все процессы ускорены, вы же контролируете тайминги сами в любом случае
StroboNights
Ну да, именно это я в виду и имел. Автор, однако, в youtube не хочет.
Affdey Автор
Сделаю видео, через пару дней