Декоративная подсветка лестницы. Часть первая. «Железная»

9db4e53201fbf00a72e48b49bf1bf107.jpg

Я живу в своем доме. До недавнего времени мы всей своей большой дружной семьей ютились на первом этаже двухэтажного дома. Время шло, а этаж так и не хотел превращаться в жилой. Всегда находились другие, более важные дела. И долго бы это так тянулось (наверное), если бы супруга в один прекрасный момент не сказала — хочу свою комнату! Как нетрудно догадаться через некоторое время этаж стал оживать. И как только это произошло, встал вопрос о том, как сделать освещение лестницы. Варианты поставить проходные выключатели или подсвечивать дежурным освещением мне не понравились сразу. Слишком просто и очевидно. А как-же выпендреж? А где здесь вау-эффект?  Хотелось сделать что-то необычное. Лучше всего подходило решение сделать подсветку с помощью светодиодных лент.  Вот где свобода творчества при наличии фантазии!

Выбор решения

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

  • устройство выполнено в виде моноблока с определенным количеством каналов. Все необходимые датчики (пересечения и освещенности) также подходят к этому блоку. Устройство фактически коммутирует куски светодиодных лент определенного цвета.

  • второй тип повторяет по конструктиву первый, но отличается только тем, что управляет адресными светодиодными лентами. Здесь возникает возможность получить более красивые эффекты и цвета.

  • многоканальные устройства комбинированного типа, позволяющие управлять и обыкновенными и адресными лентами.

Однако, при всем кажущемся многообразии, все подобные устройства крайне однотипны. В большинстве решений схема следующая: ультразвуковые датчики + ардуино + светодиодная лента. Есть решения (в основном коммерческие), где в этой схеме вместо ардуино используется свой контроллер. Я даже случайно наткнулся на  статью на Хабре, где как раз рассматривался вариант с одноцветной светодиодной лентой, управляемой ардуинкой.  

Не то, чтобы я был ярым противником ардуино-подобных решений. И они для каких-то применений (в основном быстрое макетирование, проверка гипотез) имеют право на существование, но в «боевые» устройства я бы их не ставил. Но это мое личное мнение. И я готов к тому, что разнесут и мою реализацию.

Итак, что не понравилось мне в решениях, которые в основном представлены в сети.  Во-первых, замкнутая система в виде моноблока имеет несколько недостатков:

  • система «заточена» на конкретный объект (лестницу) с определенными характеристиками (число ступеней). Из этого следует, что система практически не допускает расширения или какой либо серьезной модернизации.

  • датчики пересечения подводятся длинными проводами минимум с двух точек (концы лестницы).

Во-вторых, мне не понравились в принципе датчики пересечения на основе ультразвуковых датчиков. Это же мрак как смотрится, как минимум! И их не спрятать. Тут, правда, у всех своё мнение.

Можно сказать так, что я решил пойти своим путем. Идея была в следующем. Зачем делать один громоздкий блок управления со своими ограничениями, когда можно собрать требуемую конфигурацию подсветки из относительно универсальных блоков? Что я имею ввиду. Рассмотрим блок-схему этой универсальной единицы.

Блок-схема одно-канального модуляБлок-схема одно-канального модуля

Это практически готовое одно-канальное решение подсветки. А дальше возможны вариации:

  • блок — это готовый одно-канальный светильник (и не только для лестницы)

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

  • каждый блок обслуживает свою ступень и имеет свой датчик пересечения. Это самый дорогой, но и самый универсальный вариант. В этом случае можно реализовать красивый эффект перемещения подсветки вместе с человеком.

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

А теперь к деталям. Разберемся, как это все можно реализовать.

1.   Датчик пересечения

Time-of-Flight (TOF) датчик VL53L0xTime-of-Flight (TOF) датчик VL53L0x

Очень хотелось получить компактный, дешевый датчик, который легко спрятать за элементами декора. Перебрав варианты, я остановился на. Он очень маленький и позволяет определять дистанцию до 2-х метров. В реальности же столько не надо, так как ширина ступени в среднем 1–1.2 м. А про цену и говорить нечего. Сейчас на AliExpress его можно купить рублей за 150.

.

2.   Датчик освещенности

Датчик освещенности MAX44009Датчик освещенности MAX44009

 Очень мне понравился в своё время датчик MAX44009. Классный датчик с автоматическим выбором диапазона. Жаль, что сам датчик сняли с производства, но модулей на его основе еще вполне достаточно на там-же  AliExpress. Например, GY-49.

.

3.   Микроконтроллер

Вот столько у меня осталось!Вот столько у меня осталось!

Тут особого выбора и не было. Просто так уж вышло, что с прошлого проекта у меня осталась целая норма-упаковка контроллеров LPC11C14. Долго я не знал, куда их приспособить, а тут проявилась такая возможность!

.

4.   LED-лента

Тоже осталась от старых проектовТоже осталась от старых проектов

Как же без нее. На сегодняшний  день это самый популярный вид подсветки чего либо. Можно было использовать простые одноцветные варианты, но это больно скучно. Если уж делать подсветку, то делать ее универсальную. Поэтому я решил использовать адресную светодиодную ленту. В любом случае ее всегда можно «превратить» в обыкновенную одноцветную. 

.

5.   Канал связи между модулями

Я немного слукавил, когда говорил, что выбор микроконтроллера был предопределен. Основная фишка этой микросхемы — наличие встроенного CAN-контроллера. Да-да, именно CAN интерфейс будет связывать в единое целое все модули. Это очень удобно и надежно. Если есть другие мнения, как организовать надежную realtime связь между модулями — буду рад выслышать.

6.   Монтаж

Не последнее значение имеет удобство монтажа. В данном случае модули будут соединяться последовательно друг за другом (если их много). 

Упрощенная монтажная схема соединенийУпрощенная монтажная схема соединений

Макетирование

Единственным элементом, с которым я раньше не работал и который требовал проверки, был датчик TOF VL53L0x. Для этого был собран по древокальной технологии макет.

Макет датчика пересечения (вид сзади)Макет датчика пересечения (вид сзади)Макет датчика пересечения (вид спереди)Макет датчика пересечения (вид спереди)Макет в действииМакет в действии

Сие изделие было закреплено поперек лестницы. Как показали ходовые испытания — пересечь барьер безнаказанно не получается. Дальности надежного обнаружения объекта (человека) вполне достаточно. Дальше даже и не надо. Ровно для ступеньки лестницы! Поскольку луч у данного сенсора достаточно узкий (25 градусов) — достаточно поднять датчик примерно на 50 см и никакие кошки и собаки с поднятым хвостом не вызовут ложного срабатывания. А вот ребенок точно не проскочит! Любого размера. Также этот датчик можно спрятать за стеклом и тогда вообще его не будет заметно. Этого никак нельзя сказать про ультразвуковые датчики. А поскольку датчики очень компактные, есть вариант расположить рядом два датчика и тогда появится возможность определять направление движения по лестнице.

Хотелось немного сказать про софт для датчика. Несмотря на все плюсы с информацией по нему очень даже не очень. Описание регистров нет в доступе в принципе, а существует только библиотека от STM. Несмотря на утверждение специалистов из STM — их библиотека далеко не «simple». Перелопатив просторы инета я нашел разные варианты софта для работы с датчиком, но они все представляют из себя упрощенную версию фактически только для оценки работы с vl53l0x. Но поскольку моя задача заключалась лишь в определении факта пересечения границы и мне не требовалось точное измерение расстояний, то для меня этот вариант вполне подходил. Взяв один из этих вариантов драйвера за основу, я переделал его для работы с микроконтроллером LPC11C14.     

Итого, короткий вывод из эксперимента — датчик просто огонь!

Принципиальная схема

Основным критерием при проектировании схемы было использование максимально дешевых комплектующих. Концепция «каждой ступеньке — свой модуль» потребовала сделать этот самый модуль как можно дешевле.

Принципиальная схема одно-канального модуляПринципиальная схема одно-канального модуляПринципиальная схема драйвера CAN-шиныПринципиальная схема драйвера CAN-шины

Основу модуля составляет микроконтроллер LPC11C14. Элемент DA1 — внешний сторожевой таймер (ну есть у меня пунктик по надежности внутренних сторожевиков). DD2 — преобразователь уровня для работы с LED-лентой. SW1 — выбор адреса устройства в сети CAN. Это сделано для того, чтобы модули, имея одинаковую прошивку, могли быть аппаратно сконфигурированы. DA4 — драйвер CAN-линии. XP14 — разъем для подключения внешних датчиков (датчик пересечения, датчик освещенности).

Приблизительная стоимость основных компонентов модуля (цены Чип-Дип):

Итого: 707р

Трассировка платы

Было желание сделать простую дешевую двухслойную плату, но… дело было перед Новым Годом и у китайских друзей случилась акция. Четыре слоя х10штук почти бесплатно (500р)! Получатся плата выходила 50р.

И я не удержался и сделал по-человечески. Извините…   

3D-модель одно-канального модуля3D-модель одно-канального модуля

Что по итогу на данный момент. Платы заказаны, софт готовится. Продолжение следует…

© Habrahabr.ru