Подсветка лестницы на ступенях с датчиком движения своими руками

Подсветка лестницы на ступенях с датчиком движения своими руками

Подсветка лестницы на ступенях с датчиком движения своими руками

Подсветка лестницы на Arduino и адресной светодиодной ленте:

  • 3 режима
  • Датчик на вход и на выход
  • Автоматическая яркость

ВИДЕО

Каталоги ссылок на Алиэкспресс на этом сайте:

  • Всё для пайки: паяльники, приспособления
  • Платы Ардуино, модули и датчики
  • Модули и датчики для умного дома
  • Дешёвые инструменты
  • Аккумуляторы, платы защиты, зарядники
  • Мультиметры
  • Блоки питания, преобразователи

Стараюсь оставлять ссылки только на проверенные крупные магазины, из которых заказываю сам. Также по первые ссылки ведут по возможности на минимальное количество магазинов, чтобы минимально платить за доставку. Если какие-то ссылки не работают, можно поискать аналогичную железку в каталоге Ардуино модулей . Также проект можно попробовать собрать из компонентов моего набора GyverKIT .

  • Arduino Nano купить в РФ, Aliexpress, Aliexpress, искать
  • WS2811 Aliexpress – искать
  • https://ali.ski/Z25ej
  • https://ali.ski/BM4PDd
  • 30 свет/метр
  • 60 свет/метр
  • https://ali.ski/AH6Q8
  • https://ali.ski/nkx6q

Составление скетча

При составлении скетча использовалась только одна библиотека Ultrasonic (для работы с сенсорами HC-SR04) и то можно было обойтись без неё. Пришлось повозиться с битовыми операциями, так как необходимо определенным образом загружать два байта в каскад сдвиговых регистров (в самом скетче сделал доходчивые пояснения).

// ***Скетч подсветка лестницы V1***
// Библиотеки
#include «Ultrasonic.h»

// Пины
#define Trig_1 10 // Устанавливаем контакты для первого датчика.
#define Echo_1 11
#define Trig_2 12 // Устанавливаем контакты для второго датчика.
#define Echo_2 13
#define Ds 8 // Ds/SDI первого сдвигового регистра 75HC595N_1.
#define STcp 7 // STcp/RCLK сдвиговых регистров 75HC595_1, 2.
#define SHcp 6 // SHcp/SRCLK сдвиговых регистров 75HC595_1, 2.
#define LDR A0 // Аналоговый сигнал с фоторезистора.

Ultrasonic Sensor_1(Trig_1, Echo_1); // Определяем первый датчик.
Ultrasonic Sensor_2(Trig_2, Echo_2); // Определяем второй датчик.

// Параметры
const int Limit = 100; // Переменная для хранения предела сравнения с освещенностью.
const float Min_Disrance = 50.0; /* Диапазон, при котором сработает сенсор
Ширина ступеньки 55 см.*/

boolean Up_Sensor_Started = false; // Переменная отражающая факт срабатывания верхнего сенсора.
boolean Down_Sensor_Started = false; // Переменная отражающая факт срабатывания нижнего сенсора.

const int Read_Delay = 50; // Переменная для хранения времени задержки опроса сенсоров.

unsigned int leds = 0; // Переменная для хранения передаваемых битов в регистры.
const int N = 10; /* Переменная для хранения количества ступеней лестницы.
Отсчет идет с нуля! Максимум выходов 14-ть 2 Сборки Дарлингтона.*/
const int T_Ladder = 3000; // Переменная для хранения времени включенной лестницы.
const int T_Stair = 500; // Переменная для хранения времени между включениями.

void setup()
pinMode(Ds, OUTPUT);
pinMode(STcp, OUTPUT);
pinMode(SHcp, OUTPUT);
// Serial.begin(9600); // Инициализация последовательного порта на скорости 9600 бойд.
>

void loop()
int LDR_Value = analogRead(LDR); // Считываем значение с фоторезистора.
// Serial.println(LDR_Value); // Проверяем уровень освещенности в пределах от 0 до 1023.
if(LDR_Value < Limit) // Сравнение «Достаточно ли темно для подсветки?».
Down_Sensor(); // Вызов процедуры опроса нижнего сенсора.
if(Down_Sensor_Started) // Проверка факта срабатывания нижнего сенсора.
// Если есть, выполняем действия.
Down_Sensor_Started = false; // Возвращение фактов срабатывания в исходное состояние.
Up_Sensor_Started = false;
Turing_Upward(); // Вызов процедуры включения лестницы снизу вверх.
>
else
// Если нет факта срабатывания нижнего сенсора.
Up_Sensor(); // вызываем процедуру опроса верхнего сенсора.
if(Up_Sensor_Started) // и проверяем факт его срабатывания.
// Если есть, выполняем действия.
Down_Sensor_Started = false; // Возвращение фактов срабатывания в исходное состояние.
Up_Sensor_Started = false;
Turing_Downward(); // Вызов процедуры включения лестницы сверху вниз.
>
>
delay(Read_Delay); // Задержка чтения сенсоров.
>
>

// Процедура опроса верхнего датчика
void Up_Sensor()
if((Sensor_1.Ranging(CM) < Min_Disrance) (Sensor_1.Ranging(CM) >0))
// Если измеренное расстояние больше нуля, но меньше предела то.
Up_Sensor_Started = true; // Факт срабатывания верхнего сенсора.
>
>

// Процедура опрос нижнего датчика
void Down_Sensor()
if((Sensor_2.Ranging(CM) < Min_Disrance) (Sensor_2.Ranging(CM) >0))
// Если измеренное расстояние больше нуля, но меньше предела то.
Down_Sensor_Started = true; // Факт срабатывания нижнего сенсора.
>
>

// Процедура загрузки битов в регистры
void updateShiftRegister()
digitalWrite(STcp, LOW); // Подаем низкий сигнал для загрузки битов в регистры.
byte First = lowByte(leds); /* Разделяем наш байт на младший и старший,
так как функция shiftOut за раз пропускает только 8 бит.*/
byte Second = highByte(leds);
shiftOut(Ds, SHcp, MSBFIRST, Second); // Проталкиваем 1-й байт и читаем его слева направо.
shiftOut(Ds, SHcp, MSBFIRST, First); // Проталкиваем 2-й байт.
digitalWrite(STcp, HIGH); // Сбрасываем на выходы полученные биты.
>

// Процедура включения подсветки снизу вверх
void Turing_Upward()
for (int i = 0; i bitSet(leds, i); // Изменение всех N битов на состояние 1 (или HIGH).
updateShiftRegister(); // Включение подсветки загрузкой измененного байта.
delay(T_Stair); // Задержка между включением ступеней.
>
// Serial.println(leds, BIN); // Проверяем какой вид байта.
delay(T_Ladder); // Задержка включенной лестницы.
leds = 0; // Обнуление байта.
updateShiftRegister(); // Потушить подсветку.
>

// Процедура включения подсветки сверху вниз
void Turing_Downward()
for (int i = N; i >= 0; i—)
bitSet(leds, i); // Изменение всех N битов на состояние 1 (или HIGH).
updateShiftRegister(); // Включение подсветки загрузкой измененного байта.
delay(T_Stair); // Задержка между включением ступеней.
>
delay(T_Ladder); // Задержка включенной лестницы.
leds = 0; // Обнуление байта.
updateShiftRegister(); // Потушить подсветку.
>

Особенности монтажа

Теперь про монтаж, укладывать светодиодную ленту, конечно же, лучше в специально для неё созданный профиль, но стоимость его довольно высока. Я брал кабель канал 12×12, срезал раскаленным канцелярским ножом лишнее, получилось следующее.

image

Чтобы спрятать сенсоры HC-SR04, нашел для них по размеру коробку IEK 20 мм.

image

Монтаж щитка особого труда тоже не составил, так как на плате заранее задумывалось установка винтовых клеммников.

image

Исходя из расчета, что на одну ступеньку потребуется 1 метр ленты, на 14 ступенек потребуется 14 метров. Суммарная мощность потребления всеми светодиодами лестницы: 7.2Вт/м * 14м = 100Вт. Учитывая, что блок питания будет питать также и контроллер, и датчики выбран блок питания на 150Вт. В зависимости от количества и ширины ступенек, типа светодиодной ленты расчетная мощность блока питания может варьироваться.

Печатная плата контроллера разработана в программе Dip Trace. Дорожки, по которым подается питание к светодиодным лентам, включая разводку контактов транзисторов Дарлингтона, следует выполнять максимально возможной ширины. Макеты печатных плат устройства, внешний вид устройства и его блоков показаны на рисунках, приведенных ниже.

Макет печатной платы блока контроллера.

Макет печатной платы блока управления и индикации.

Внешний вид устройства

Контроллер с блоком управления и индикации.

Датчик сумерек можно собрать по схеме, ниже:

Схема электрическая принципиальная датчика сумерек

В схеме используется фоторезистор от экспонометра старого пленочного фотоаппарата Canon. Можно попробовать использовать фоторезистор типа GL5516 (сопротивление в темноте около 0,5МОм, сопротивление при освещении 10Lux составляет 5…10кОм). В темное время суток на выходе Signal датчика присутствует логический «0», который разрешает контроллеру включать освещение лестницы. В светлое время суток (или при достаточной освещенности датчика искусственным светом) на выходе Signal датчика присутствует логическая «1», которая запрещает контроллеру освещать лестницу. Если нет необходимости использовать датчик сумерек, то на вход Signal на контроллере необходимо подать логический «0» через резистор 10кОм соединенный с входом GND.

P.S. Желательно выбирать светодиодную ленту в защищенном исполнении — IP65. Уровень по защите от проникновения посторонних предметов: 6 — пыленепроницаемое (пыль не может попасть в устройство, полная защита от контакта). Уровень защиты от проникновения жидкости: 5 — защита от струи (защита от водяных струй с любого направления). Эти рекомендации обоснованы условиями эксплуатации лестницы: расположение в пыльной зоне и частое мытье водой.

Ленту надо выбирать с самоклеющейся основой, которую при монтаже следует усилить клеем типа «Момент» (чтобы не отвалилась от ступенек).
Провода до светодиодных лент должны быть сечением не менее 0,75 кв. мм.
На общий провод питания светодиодных лент необходимо установить предохранитель (вставку плавкую) 5A.
Установите фьюзы: HIGH — 0xD9, LOW — 0xE4.

Источник: В. Лукьянов (http://lukjanow.ru); В.Макаров (http://vprl.ru)

ПОДЕЛИТЕСЬ СО СВОИМИ ДРУЗЬЯМИ:

Раньше, в советские времена в старой советской радиотехнике часто использовались замечательные газоразрядные индикаторы. Сегодня такие индикаторы можно применить в разнообразных проектах, где нужно выделить эдакую эстетическую изюминку!
Свою популярность эти индикаторы вновь приобрели среди радиолюбителей несколько лет назад из за своего антикварного вида и довольно красивого визуального отображения индикации. В интернете уже сейчас можно найти прекрасные реализации часов на советских ИНках.

Автоматическая подсветка лестницы. Своими руками. Последний раз.

Зацепился тут случайно глазом за комментарий и стало больно (в переносном смысле) и обидно, действительно, маловато масштабных проектов на mysku. DIY какой-то грустный. Конечно, уровня самодельной машины добиться сложно, куда уж, она там аж в «топ за все время» выбралась… но расскажу вам про подсветку лестницы. Точнее про ее допеределку.

Началось всё с начальника на работе. Подошел ко мне и спросил: «а можешь сделать? А то везде денег просят каких-то неадекватных. 5000, 10000, 40000…» Ну я подумал, чего там такого сложного-то? ШИМ+сонары. Вроде просто.

Сверяемся с табличкой

Я бы не писал здесь эту статью если бы из всех найденных в инете решений больше не понравилось вот это.

Почему-то не в разделе DIY, ну не суть…

Автору статьи респект и уважение, все-таки дело было в 2015-ом, 20 ноября будет юбилей 4 года, но не понравилось несколько моментов:
— Софт явно требовал серьезной передоработки.
— Размер платы — жесть. Это чисто мои внутренние стремления к минимализму. Не обращайте внимания.
— Использование громадных NPN-транзисторов еще и с радиаторами. Не сколько претензия к громадным, сколько к NPN.

Ну ладно размер, уже предупредил не обращать внимания, но NPN-то зачем? TLC5940 кладет выходы на землю. Автору понадобилось городить инверторы 74LS04 там, где они в принципе не нужны, чтобы получить плюс на базе для NPN. Ну допустим, сделал из того что было под рукой, но при этом никто не задумался что все ступеньки лестницы постоянно подключены к 12в, а ШИМ дергает за минусы. Еще раз: вся лестница, каждая ступенька подключена постоянно к 12в. Даже когда ленты не горят. Ничего не смущает?

И поехали тиражировать эту плату в больших количествах по всем городам бывшего союза…

Что-то увлекся критикой. Никого не хочу обидеть. Простите. У вас уже всё работает а у меня нет. Давайте лучше меня критиковать.
В общем первый прототип на коленке получился вот так:

Та же самая Arduino Nano, та же самая TLC5940, мосфеты сдвоенные IRF7314 P-канальные 20v 5.3A, разводка питания двойная под LM7805 и под AMS1117-5.0. От последней потом отказался. Греется, не нравится, выкинул в окно.

Заказал платы на заводе, приехали. Да, кстати, размеры 48*100мм, свободного места почти нет.

По-быстрому запаял…

…и почти расслабился, не подозревая что ожидает впереди.
Ну хотя нет, конечно подозревая, поэтому заказал плат чуть больше чем нужно 🙂

Чуть-чуть транзисторов

Чуть-чуть резисторов с конденсаторами

Немного сонаров

Немного ардуин

Кстати, припаиваю к ним ножки сам. На фотке их 1500 🙂 Весьма медитативное занятие.

Из софта тут же выкинул PIR. Не по фен-шую это. Если ты хочешь использовать PIR – повесь себе лампочку над лестницей и не морщ мозг. Зачем эти ардуины, ШИМы, БП, ленты, куча проводов?

Увеличил количество градаций яркости, выкинул ресет сонаров (HY-SRF05 не припомню чтобы зависали), добавил чтение датчика освещенности temt6000, вынес всё что можно менять в структуру, причесал сомнительные моменты.

В общем начальник контроллер подключил, более-менее настроил.

Правда устал ковыряться в переменных и перезаливать прошивку, о чем мне непременно и высказал, что мол у белых людей крутилки на плате, кнопки, LCD-экранчики с менюшками а мы как негры правим код. И тут я обратил внимание на маленькую железку, торчащую сбоку Arduino Nano. Называется «разъем miniUSB». А сама ардуина в системе уже видится как виртуальный COM-порт. Бинго! Добавляем сохранение/чтение структуры в EEPROM, делаем изменение параметров через UART:

Ну да, добавил кое-чего своё. Если вдруг кто узнал имена переменных 🙂
А потом расчехляем C# и делаем утилиту настройки контроллера по USB. Подключил шнур, запустил утилиту и меняй всё что можно. Последняя версия выглядит так:

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

Маленькая сморщенная, есть в каждой женщине… Правильно, изюминка.

Так и в плате контроллера есть изюминка, изначально заложенная. Платы стекируемые. То есть объединив 2,3,4 платы последовательно 5pin шлейфиками, можно получить 32,48,64 ШИМ каналов соответственно, управляемые одной Arduino, установленной только в первой плате.

Запилил сдуру даже несколько контроллеров на DIP-компонентах.

На ATmega328P. Да, именно так выглядит 476 резисторов с 952 ножками, которые надо вставить в 952 отверстия, 952 раза припаять и 952 раза откусить кусачками. +784 ножки DIP-кроваток +504 ножки клеммников. Мне кажется именно после этого оттопырились какие-то неизвестные мне доселе чакры и я начал отступать от задуманного :)))))

Параллельно я занимался одним проектом, в котором были использованы сенсорные выключатели. Не в том смысле что готовые типа Livolo или как их там… а самодельные сенсоры на микроконтроллере.

Наткнулся в инете на статью про сенсорную клавиатуру на Attiny2313. Прям готовый проект, схема, программа, всё есть. Решил побаловаться.

Конечно из авторской платы 60*50мм я сделал свою 33*40мм 🙂

Я вообще люблю уменьшать всё что можно уменьшить. Клавиатурка заработала, идея прикольная, вполне рабочая, можно делать неплохие панели управления. И тут подумалось, а чем собственно нажатие пальцем на пластину через диэлектрик отличается от наступания ногой на лестницу? Если, скажем, пластину скрытно установить под ступенькой? Правильно, отличается толщиной этого диэлектрика, причем весьма существенно. Ступенька это вам не пленка на текстолит.

И я сделал свой двухканальный сенсорный драйвер с преферансом и куртизанками… (размер платы 27.64*15.24мм) Он умеет «пробивать» 60мм дерева достаточно уверенно. Бетон сантиметра 3-4.

Да, сразу на завод, я уверен – это бомба. Это не только сенсор для ступенек, но и скрытый выключатель внутри стены, и еще куча применений. 27.64*15.24мм кстати тоже можно уменьшить и сделать 23.83*15.24 убрав клеммники. Дальше уменьшать мешает камень 🙂 Первые удобнее подключать, вторые удобнее прятать. Сложно решить какие лучше – оставил оба варианта. Микроконтроллер PIC18 в TQFP-44 если что… Мой любимый.

Ну так вот… У этого модуля (на фотке их 24шт) есть своя утилита для настройки обычным UART-USB шнурком. C# же уже расчехлен – его уже не остановить. Креатив прёт. Пишем, дебажим, наводим красоту… Переключение режимов работы, изменение/сохранение настроек/параметров, вывод в реальном времени, полный интерактив.

По работе модуля и утилиты настройки снял 3 видео, но звук плохой. Если кто осилит мое бубнение – будет в восторге от этой уличной магии.

Рассчитываем материалы

Любую выбранную схему можно адаптировать и усовершенствовать. Например, если вы поставите разноцветные диодные источники для лестницы, от этого общий вид подсветки преобразится. Еще одно интересное решение – поставить датчики на каждую ступеньку. В этом случае они будут загораться поочередно по мере вашего перемещения. Однако это решение требует немалых материальных затрат.

Сначала рассчитайте длину и мощность светодиодной ленты. Оптимальное значение мощности – 4,8 ватта в погонном метре с 60 светодиодами типа SMD 3528. Данного значения достаточно для приятного и качественного освещения всей длины лестницы. Лучше использовать источник света с холодным белым оттенком свечения – он выгодно подчеркивает красоту ступеней в темное время суток. Однако выбор цвета – это дело вкуса.

Длину ленты рассчитывайте с учетом количества и размеров ступеней на лестнице.

На следующем этапе расчета определяется требуемая мощность блока питания. Для этого необходимо умножить потребляемую мощность одного погонного метра ленты на требуемое количество метров. Если необходимо использовать 10 метров ленты для подсветки, нужно 4,8 умножить на 10, получится 48 ватт – это мощность, которую потребляет вся длина ленты.

Мы определили потребляемую мощность. Однако блок питания должен иметь запас около 20–25 процентов. Поэтому добавляем к 48 ваттам еще 25 процентов, получится 60 ватт. Таким образом, требуемая мощность блока питания составит 60–80 ватт. На этом расчет подсветки заканчивается.

Прокладка провода

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

Коннекторы

Обезжириваем поверхность перед наклейкой ленты, а провода нужно протянуть через щели под ступенями. На одном из пролетов закрепляется кабель-канал, куда проводится провод от каждой ступени. Напротив первой и последней ступени предусматриваются места для крепежа чувствительных датчиков, если вы используете автоматическую схему подключения.

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

Прокладку кабелей можно выполнить и без каналов – над ступеньками. Но в этом случае испортится внешний вид лестничной системы. Лучший вариант – проложить провод с внутренней стороны, однако, не во всех случаях есть такая возможность.

2) Готовый контроллер

  • Готовая плата со всеми впаянными компонентами
  • Arduino Nano / ATmega328P-PU запрограммированная
  • 2 Датчика расстояния HY-SRF05
  • Датчик освещенности TEMT6000

Готовый контроллер на Arduino Nano:

Готовый контроллер на ATmega328P:

Вариант крепления датчиков:

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

  • КАК ЗАКАЗАТЬ:

    ДОСТАВКА:

    Самовывоз в Москве:

    В другие города доставка Почтой России. Посылка первым классом, трек-номер для отслеживания.

    ОПЛАТА:

    Установка автоматической подсветки лестницы

    Пошаговые инструкции по установке и настройке систем автоматической подсветки лестницы в зависимости от выбранного контроллера.

    Interactive-Home представляет видео-инструкцию по настройке системы автоматической подсветки ступеней лестницы с использованием контроллера «Professional». Наша система отличается легкостью и простотой монтажа и настройки.

    Схема подключения подсветки лестницы

    Подготовительный этап

    Определите местоположение установочного монтажного бокса (контроллера);

    Определите местоположение датчиков движения. Датчики движения обязательно должны быть установлены в начале первой и последней ступеней. Оптимальное расстояние от датчика до начала ступени по горизонтали и вертикали не менее 30 см (при ширине ступени 1м). Для более широких лестниц — вынос датчика необходимо увеличить. Уменьшить это расстояние возможно экспериментальным путем в реальных условиях (на стадии ремонта «до обоев»). Цель позиционирования датчика относительно окружающих предметов в том, что бы исключить их попадание в зону луча для устранения ложных сработок системы. Подробнее об установке датчиков движения читайте в статье.

    Определите местоположение проходных выключателей (около первой и последней ступеней);
    Проложите провода:

    • линию питания контроллера (к монтажному боксу);
    • от каждой ступени к контроллеру (например, ШВВП 2х0,5);
    • от каждого датчика движения к контроллеру (например, кабель сигнальный 6-жильный);
    • от каждого проходного выключателя к контроллеру (например, ШВВП 3х0,5).
    • избегайте прокладки соловой проводки (220В) и сигнальных линий датчиков в одном жгуте (параллельная прокладка, в непосредственной близости)

    ! Избегать прокладки силовой проводки (220В) и сигнальных линий датчиков в одном жгуте (параллельная прокладка, в непосредственной близости)

    Оцените статью
    TutShema
    Добавить комментарий