Появилась идея сделать автоматическую подсветку лестницы в темноте, чтобы при спуске/подъеме по которой в ночное время при прохождении первой ступеньки загоралась светодиодная лента, освещающая всю лестницу. Планировалось разместить светодиодную ленту под поручнем, на краях лестницы разместить ультразвуковые датчики для обнаружения движения.

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

ВНИМАНИЕ! Обращаю особое внимание на то, что лента должна питаться от блока питания, а НЕ от Ардуино! Ибо в таком случае лента может сгореть!
Был написан скетч с использованием библиотеки NeoPixel для работы с адресной светодиодной ленты, в котором вся система начинает свою работу только в темноте (благодаря фоторезистору), при подъеме нижний датчик обнаруживает движение, и вся лента загорается, ожидается срабатывание верхнего датчика. При срабатывании верхнего датчика лента начинает затухать, начиная от нижнего датчика. Аналогично система работает и при спуске.
Для работы скетча с Вашей лентой необходимо настроить некоторые параметры, указать пины, к которым подключаются ультразвуковые датчики, фоторезистор и сама лента, указать количество светодиодов в ленте. Остальные параметры изменяются по желанию.

Так как ранее на ардуино я скетчи не писал и с программированием почти не знаком, у моего проекта есть ряд исправимых недостатков, которые я еще не исправил, а также есть идеи, что можно добавить в будущем:
Что реализовано:
Демонстрация работы:

Преимуществом данного решения является компактность. Также данный проект можно использовать не только с прямой лентой под поручнем, но и в виде "классического" варианта с подсветкой каждой ступени следующим образом:

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

При поиске подобного решения обнаружилось, что такие проекты существуют, но не совсем в том виде, к котором мне было необходимо, в них предлагалось использовать куски светодиодной ленты под отдельную ступень, но в этом случае вся система получалась очень громоздкой и мне просто не подошла бы, так как ее негде разместить, да и в целом под Ардуино мало что было, пришлось все делать самому.
Было принято решение реализовать проект на адресной светодиодной ленте, прелесть которой в том, что можно управлять каждым светодиодом по отдельности.
Для реализации проекта понадобились следующие компоненты:
- Адресная светодиодная лента WS2812B
- Arduino NANO v3
- Ультразвуковой датчик расстояния HC-SR04 (2шт.)
- Фоторезистор
- Блок питания
- Резисторы на 10 кОм и 200-500 Ом

ВНИМАНИЕ! Обращаю особое внимание на то, что лента должна питаться от блока питания, а НЕ от Ардуино! Ибо в таком случае лента может сгореть!
Был написан скетч с использованием библиотеки NeoPixel для работы с адресной светодиодной ленты, в котором вся система начинает свою работу только в темноте (благодаря фоторезистору), при подъеме нижний датчик обнаруживает движение, и вся лента загорается, ожидается срабатывание верхнего датчика. При срабатывании верхнего датчика лента начинает затухать, начиная от нижнего датчика. Аналогично система работает и при спуске.
Для работы скетча с Вашей лентой необходимо настроить некоторые параметры, указать пины, к которым подключаются ультразвуковые датчики, фоторезистор и сама лента, указать количество светодиодов в ленте. Остальные параметры изменяются по желанию.

Так как ранее на ардуино я скетчи не писал и с программированием почти не знаком, у моего проекта есть ряд исправимых недостатков, которые я еще не исправил, а также есть идеи, что можно добавить в будущем:
Что реализовано:
- В режиме ожидания всегда горит два (или по выбору) светодиода внизу и вверху лестницы (дежурные светодиоды)
- При подъеме или спуске посветодиодно загорается вся лента от начала до конца лестницы, при пересечении второго сенсора светодиоды начинают затухать в том же порядке
- Подключен фоторезистор, который включает всю систему только тогда, когда в помещении не горит свет
- При наступлении темноты не загораются "дежурные" светодиоды в начале и конце лестницы, они загорятся только посте первого прохода по лестнице
- Не реализовано решение проблемы, когда человек прошел через первый сенсор и вдруг решил, что ему не нужно подниматься, в этом случае система все равно ожидает проход через второй датчик
- Не добавлены различные эффекты и нет плавного зажигания светодиодов
Демонстрация работы:


Преимуществом данного решения является компактность. Также данный проект можно использовать не только с прямой лентой под поручнем, но и в виде "классического" варианта с подсветкой каждой ступени следующим образом:

В этом случае лента нарезается кусочками в длину ступеней и соединяется между собой проводами. При использовании моего скетча лестница будет загораться "змейкой".
Ну и в заключении сам скетч и необходимые библиотеки:
Вложения
-
7.4 KB Просмотры: 185
-
64 KB Просмотры: 156
Изменено: