Дата публикации

Автор статьи: Редакция Clex.kz

11

Свет в шкафу или витрине: датчик двери, светодиодная лента и задержка выключения

Подсветку шкафа, витрины или ниши можно сделать так, чтобы она включалась при открытии двери и выключалась с задержкой. Разбираем датчик двери, светодиодную ленту, MOSFET, питание 12 В, ручной режим и ошибки подключения.

Когда свет должен включаться сам

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

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

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

Датчик двери: геркон, концевик или готовый модуль

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

Геркон хорош тем, что не требует физического нажатия. Магнит ставится на дверцу, сам датчик - на корпус. Когда дверца закрыта, магнит находится рядом с датчиком. Когда дверь открывается, состояние меняется.

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

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

Почему светодиодную ленту нельзя питать от пина контроллера

Светодиодная лента потребляет заметно больше тока, чем может дать GPIO Arduino, ESP32 или другой платы. Даже короткий кусок ленты не стоит подключать напрямую к пину.

Пин контроллера нужен только для управляющего сигнала. Он может сказать “включить” или “выключить”, но ток ленты должен идти от отдельной линии питания через ключ.

Обычно для 12-вольтовой ленты используют MOSFET. Контроллер управляет затвором MOSFET, а сам MOSFET коммутирует питание ленты. Так плата не перегружается, а лента получает нужный ток от нормального источника питания.

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

MOSFET как ключ для светодиодной ленты

Для включения ленты чаще используют низковольтное управление по минусу. Плюс 12 В идет на ленту напрямую, а минус ленты проходит через MOSFET. Когда контроллер подает управляющий сигнал, MOSFET открывается, и лента включается.

Важный момент - MOSFET должен нормально открываться от уровня контроллера. Если используется ESP32, на затвор приходит 3.3 В. Не каждый MOSFET при таком напряжении откроется достаточно хорошо. Если взять неподходящий ключ, лента вроде включится, но MOSFET может греться, а яркость будет ниже ожидаемой.

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

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

Задержка выключения после закрытия двери

Если выключать свет сразу при закрытии двери, схема будет работать, но иногда это неудобно. Например, дверцу чуть прикрыли, снова открыли - свет мигнул. Или датчик сработал на долю секунды из-за люфта, и лента погасла.

Задержка выключения решает эту мелочь. После закрытия двери контроллер не выключает свет сразу, а ждет несколько секунд. Если дверь снова открылась, таймер сбрасывается, и свет остается включенным.

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

Простая логика выглядит так: дверь открыта - свет включен. Дверь закрылась - запомнили время закрытия. Если прошло, например, 10 секунд и дверь не открылась снова - выключили свет.

Ручной режим для витрины или обслуживания

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

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

Например:

  • автоматический режим - свет включается от двери;
  • ручной режим - свет включен постоянно;
  • сервисный режим - свет включен на ограниченное время;
  • выключено - лента не включается даже при открытии.

Если используется кнопка, стоит учитывать дребезг и случайные срабатывания. Про обработку кнопки есть отдельная статья Кнопка в Arduino и ESP32: дребезг, удержание, двойной клик и ложные нажатия.

Питание 12 В для ленты и 5 В для контроллера

Светодиодная лента часто питается от 12 В. Контроллеру при этом обычно нужны 5 В или 3.3 В. Поэтому в схеме часто появляется понижающий DC-DC преобразователь: 12 В питают ленту, а из этих же 12 В получают стабильное питание для контроллера.

Такой подход удобен, потому что вся система работает от одного блока питания. Но важно не забывать про запас по току. Блок должен выдерживать ток ленты, контроллера, датчиков и возможных дополнительных модулей.

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

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

Мягкое включение и яркость

Если лента включается резко, это не всегда плохо. Но в шкафу, витрине или декоративной нише мягкое включение выглядит приятнее. Контроллер может плавно увеличить яркость через PWM, если MOSFET и схема управления это позволяют.

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

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

Если устройство должно работать ночью, полезно предусмотреть меньшую яркость или отдельный ночной режим.

Что должно происходить после отключения питания

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

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

Если используется ESP32, нужно также учитывать состояние GPIO при загрузке. Некоторые пины могут кратко менять уровень до запуска программы. Поэтому MOSFET или релейный модуль лучше подключать к пину, который не вызывает случайного включения при старте.

Проверка на столе и в корпусе

Сначала схему удобно проверить на столе: датчик двери, MOSFET, лента, питание и логика задержки. Но финальная проверка должна быть в корпусе или хотя бы в похожих условиях.

После установки меняется многое. Магнит геркона может оказаться дальше, чем на столе. Провод датчика становится длиннее. Лента греется внутри профиля. Блок питания лежит ближе к контроллеру. Кнопка ручного режима уходит на панель.

Проверить нужно несколько сценариев:

  • дверь открыта - свет включается;
  • дверь закрыта - свет выключается после задержки;
  • дверь быстро открыли и закрыли несколько раз;
  • питание отключили и включили снова;
  • ручной режим не конфликтует с датчиком;
  • лента не вызывает перезагрузку контроллера;
  • MOSFET и провода не греются.

Если все это работает, схема уже похожа не на эксперимент, а на нормальное маленькое устройство.

Типичные ошибки такой подсветки

Ошибки в такой схеме обычно простые, но из-за них подсветка начинает вести себя странно.

ОшибкаЧто происходит
Лента подключена напрямую к GPIOРиск повредить контроллер
Нет общего GND между контроллером и MOSFETЛента не включается или работает нестабильно
MOSFET плохо открывается от 3.3 ВКлюч греется, яркость ниже ожидаемой
Датчик двери без подтяжкиЛожные открытия и случайное включение
Питание ленты и контроллера разведено через слабые проводаПросадки и перезагрузки
Нет задержки выключенияСвет мигает при люфте двери
Слишком яркая лентаПодсветка слепит вместо аккуратного света
Не проверен старт после питанияЛента может включаться случайно

Минимальная схема, с которой стоит начинать

Для первого варианта достаточно простой системы: датчик двери, контроллер, MOSFET, лента 12 В, блок питания и DC-DC для контроллера.

Логика тоже может быть простой:

  1. При открытии двери включить ленту.
  2. При закрытии двери запустить таймер.
  3. Если дверь не открылась снова, выключить ленту через заданное время.
  4. Если включен ручной режим, оставить ленту включенной.
  5. После перезагрузки прочитать состояние двери и выбрать безопасное состояние.

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

Свет в шкафу или витрине: датчик двери, светодиодная лента и задержка выключения

Чтобы оставить комментарий, авторизируйтесь

Комментарии (0)