Умная подсветка под кроватью с датчиком движения: тихая ночная иллюминация
Компоненты и материалы
| Блок питания (5В 6А) | × | 1 |
| LED-лента WS2812B | × | 1 |
| Крепёж для проводов (клипсы) | × | 1 |
| Датчики движения (PIR) | × | 3 |
| Рocker-переключатель (качели) | × | 1 |
| Сетевая вилка | × | 1 |
| Провода | × | 1 комплект |
| Arduino Nano R3 | × | 1 |
Необходимые инструменты
- Паяльник
- Молоток
- 3D-принтер (для печати корпусов датчиков и блока управления)
Программное обеспечение
- Arduino IDE
О проекте
Вы когда-нибудь пытались встать с кровати ночью максимально тихо, но споткнулись о что-то и разбудили весь дом? Датчики движения, скрыто установленные под кроватью, обеспечивают мягкий свет — достаточно яркий, чтобы обойти разбросанные игрушки, но достаточно тусклый, чтобы не просыпаться полностью. Кроме срабатывания по движению, можно запрограммировать ленту на любой цвет на заданное (или неограниченное) время. Это добавляет приятную атмосферу в спальню. С базовым набором деталей, парой дополнительных элементов и нашим руководством вы сможете установить такую подсветку за пару часов.
Шаг 1: Замеры кровати
Положите кровать на бок, чтобы основание было доступно. Выберите место для блока управления — мы разместили его в повышенной зоне у изголовья. Измерьте периметр кровати, её длину и ширину. Запишите замеры. Определите места для трёх датчиков: по одному на каждую из трёх сторон, не примыкающих к стене. Мы выбрали места ближе к краю, но невидимые снаружи. Измерьте расстояние от каждого датчика до блока управления.

Шаг 2: Подготовка проводов и LED-ленты
Отрежьте LED-ленту по периметру кровати. Затем подготовьте провода: по три на каждый датчик и три на ленту — всего 12 проводов, идущих к блоку управления. Возьмите три цвета провода (мы использовали жёлтый, зелёный и оранжевый; принято: красный — питание, чёрный — земля, другой яркий цвет — сигнал). Цвета не критичны, главное — не путаться.
Шаг 3: Паяем провода к датчикам движения
Мы разместили датчики в 3D-напечатанных корпусах (файлы ниже) — это не обязательно, но делает установку аккуратнее. Если используете корпус, проденьте три цвета провода через крышку. У датчика три вывода: GND (земля), VCC (питание), S (сигнал). Держа датчик так, чтобы выводы были снизу, припаяйте провода к соответствующим контактам. Изолируйте термоусадкой. Повторите для всех трёх датчиков. Вставьте купол датчика в отверстие корпуса — должно щёлкнуть. Закройте корпус, оставив провода выходящими через заднее отверстие.



Шаг 4: Подключение LED-ленты
У ленты те же три контакта: питание, сигнал (вход), земля. Каждый светодиод адресуем — можно менять цвет (RGB) и яркость. Припаяйте три цветных провода к ленте для последующего подключения к Arduino.

Шаг 5: Установка сетевого переключателя
Если используете 3D-корпус блока управления, установите в него переключатель. Отрежьте вилку от шнура, если она есть. Проложите провод через отверстие в корпусе и через отверстие под переключатель. Снимите внешнюю изоляцию на 10 см, чтобы были видны три жилы (фаза, ноль, заземление). Отрежьте 8 см фазы (красная) и нуля (синяя) — отложите. Оставшиеся 2 см фазы и нуля припаяйте к нижним контактам переключателя. Ранее отложенные 8 см припаяйте к верхним контактам — они пойдут к блоку питания внутри коробки. Вставьте переключатель в отверстие.


Шаг 6: Подключение блока питания
Поместите блок питания в коробку так, чтобы клеммы смотрели к переключателю. Подключите фазу (красную) и ноль (синюю) от переключателя к клеммам L и N на блоке питания. Клеммы винтовые — затяните надёжно.

Шаг 7: Подключение Arduino
У блока питания есть выходы 5В и GND. Отрежьте провод питания (~8 см, по соглашению красный). Прикрутите один конец к клемме «5V» блока, второй припаяйте к выводу VIn на Arduino. Аналогично соедините GND блока и Arduino (чёрный провод).


Шаг 8: Подключение LED-ленты к питанию и Arduino
Проденьте провода ленты через оставшееся свободное отверстие в коробке. Снимите изоляцию с питания и земли ленты. Соедините питание (красный) с клеммой «5V» блока (там уже подключен Arduino) и землю (чёрный) с клеммой «GND» блока. Сигнальный провод ленты припаяйте к цифровому пину 9 Arduino.
Шаг 9: Подключение датчиков движения к Arduino
Проденьте провода трёх датчиков (9 шт.) через то же отверстие. Припаяйте три провода питания к +5V Arduino, три земли к GND, а три сигнальных — к пинам 10, 11 и 12.
Шаг 10: Прошивка Arduino
Скачайте код motion_sensing_lights.ino ниже. Через Arduino IDE загрузите его в плату. Код прост: постоянно опрашивает датчики, при срабатывании запускает таймер, плавно зажигает ленту, держит её включённой минуту, затем плавно гасит.
Шаг 11: Монтаж на кровать
Закройте корпус блока — снаружи должны быть только LED-лента и сетевой шнур. Приклейте корпус на дно кровати на выбранное место (сильный двусторонний скотч). Приклейте датчики движения на дно кровати так, чтобы они смотрели наружу по трём свободным сторонам. Закрепите LED-ленту по периметру. Клейкая подложка ленты недостаточно надёжна — используйте пластиковые клипсы, вбитые молотком в дно кровати. Включите блок в розетку, переверните кровать обратно.


Шаг 12: Настройка, тест и наслаждение
Проверьте работу. Чувствительность датчиков можно отрегулировать отвёрткой через верхнее отверстие корпуса, крутя подстроечный резистор.

Шаг 13: Развитие проекта
Вместо Arduino можно использовать модуль ESP8266 — тогда управление лентой станет возможным с телефона или через Alexa, подключив к Home Assistant. Готовый туториал по этой теме уже есть.

Шаг 14: Если не хочется собирать самому
Готовое решение уже продаётся на Amazon. Но где же удовольствие от самостоятельной сборки?! 😉
Код
Motion Sensing LEDs (Arduino)
/* T3chFlicks - Motion Sensing Under Bed Lighting
Free to use and distribute.
Tutorial and parts list: https://t3chflicks.com/shop/kit/motion-sensing-under-bed-lights/ */
#include <FastLED.h>
#define LED_DATA_PIN 9
#define NUM_LEDS 250
CRGB leds[NUM_LEDS];
int onTime = 30*1000; // 30 секунд
int motion_sensor_left = 10;
int motion_sensor_right = 11;
int motion_sensor_front = 12;
int fadeTimeDiff = 50;
void setup() {
FastLED.addLeds<WS2811, LED_DATA_PIN, BRG>(leds, NUM_LEDS);
pinMode(motion_sensor_left, INPUT);
pinMode(motion_sensor_right, INPUT);
pinMode(motion_sensor_front, INPUT);
}
void loop() {
if (digitalRead(motion_sensor_left) == 1 ||
digitalRead(motion_sensor_right) == 1 ||
digitalRead(motion_sensor_front) == 1) {
fadeIn();
delay(onTime);
fadeOut();
}
}
void fadeIn() {
for (int led = 0; led < NUM_LEDS; led++) {
leds[led] = CRGB(150, 60, 15); // тёплый оттенок
}
for (int b = 0; b < 255; b += 2) {
FastLED.setBrightness(b);
FastLED.show();
delay(fadeTimeDiff);
}
}
void fadeOut() {
for (int led = 0; led < NUM_LEDS; led++) {
leds[led] = CRGB(150, 60, 15);
}
for (int b = 255; b > 0; b -= 2) {
FastLED.setBrightness(b);
FastLED.show();
delay(fadeTimeDiff);
}
for (int led = 0; led < NUM_LEDS; led++) {
leds[led] = CRGB::Black;
}
FastLED.show();
}
Схемы

Производственный процесс
- Искусство и ремесло тиар: история, материалы и современный дизайн
- Полное руководство по простыням: история, материалы и современное производство
- Эволюция и мастерство новогодних гирлянд: от древних традиций к современной инженерии
- Колючая проволока: история, конструкция и современное применение
- Интегральные схемы (ИС): компактные мощные чипы, питающие современную электронику
- Управление светодиодом с PIR-датчиком движения на Raspberry Pi
- Планирование движения в реальном времени для автономных автомобилей в городской среде: исследование масштаб…
- Сборка лазерного танка под управлением Leap Motion — Arduino, Raspberry Pi, RGB-светодиоды
- MotionSense: умная система обнаружения проникновения на Arduino и ESP8266
- Набор MOSMusic: MOSFET, Arduino и управление светом по музыке