Project tutorial
Motion Sensing Under Bed Lights

Motion Sensing Under Bed Lights © GPL3+

Ever tried to get out of bed quietly at night only to trip over something and wake up the whole house?

  • 2,491 views
  • 4 comments
  • 21 respects

Components and supplies

Necessary tools and machines

09507 01
Soldering iron (generic)
Hammer
3drag
3D Printer (generic)

Apps and online services

About this project

Ever tried to get out of bed quietly at night only to trip over something and wake up the whole house? Motion sensing night lights installed discreetly under your bed provide low-level light bright enough to guide you around those stray LEGO bricks but dim enough so you're not woken up fully. As well as sensing motion, it's also possible to programme the lights to a colour of your choice for a fixed (or indefinite) length of time. They add a cool glow and ambiance to any bedroom. With some basic kit, a couple of extra bits and our T3ch Flicks tutorial and video, you can install these lights with relative ease in a couple of hours.

Step 1: Measure the Bed

Turn the bed onto its side so the base is readily accessible. Find an appropriate location for the control box, we chose the slightly higher area near the head of the bed (see diagram). Measure the perimeter of your bed and its length and width (see diagram). Note down your measurements. Determine a location for the three sensors. You want one facing each of the three sides of the bed which are not against the wall. We chose locations which were close to the edge of the bed, but not visible. Measure the distance from the sensor location to the control box.

Step 2: Cut the Wires and LED Strip

Cut the LED stip to the length of the bed perimeter.Next, cut the wires: you will need three for each sensor and three for the LED strip, each leading back to the control box - 12 in total. Taking three lengths of differently coloured wire, cut to size. We used yellow, green and orange - the accepted convention is red for power, black for ground and another (bold) colour for signal. It doesn’t really matter which colours you use as long as you know which is which.

Step 4: Solder Cables to Motion Sensor

We housed our motion sensors in 3D-printed cases (you can find the file link below). It’s not completely necessary to have these, but they make the sensors tidier and easier to put on the bottom of your bed. If you are using the 3D-printed case, start by threading the three differently coloured wires through the lid. The motion sensors have three different pins: ground (GND), power (VCC), and signal (S) (shown above). When holding the sensor as shown in the diagram above (i.e. with the pins on the bottom edge of the module), attach the three different coloured wires their respective pins and solder them into place. Then, cover the wires using heat shrink. Repeat this for the wires cut for each of the three sensors.Push the dome of the motion sensor through the hole in the main case. It should click into place. Close the case, leaving the three coloured wires trailing through the rear hole.

Step 5: Wire the LED Strip

The LED strip has the three same connections: power, signal and ground - except the signal pin is an input.These LEDs take instructions from the Arduino, each one of them addressable. We can change colour (RGB) and brightness. Solder three coloured wires to the LED strip, these will be used to connect to the Arduino later.

Step 6: Power Switch

If you are using the 3D-printed control box, you will need to install the power switch and connect it up to the wires. First, ensure there’s nothing on the end of your plug, if there is, cut it off. Thread the wire through the hole in the front of the box and out again through the hole for the switch immediately next to it. Strip the outer covering of the AC wire so that 10cm of the three inner wires (Live, Neutral and Earth) can be seen. Then, cut and remove 8cm of the live (red) and neutral (blue) wires and set aside for later. Using the remaining 2cm of the end of the AC plug wire, solder the live (red) and neutral (blue) wires to the switch on the bottom two prongs (as shown in the diagram). Next, take the 8cm pieces of live (red) and neutral (blue) wires you cut earlier and solder them onto the two prongs on the top of the switch (as shown in the diagram) - these wires will attach to the power box within the control box. Pulling the wires through first, push the switch into its hole in the box.

Step 7: Connect Power Supply

Put the power supply in the box so the wire connection points face the switch. Connect the live (red) and neutral (blue) wires from the switch to the live and neutral connection point (marked l and n respectively) on the power supply. The connection points on the power supply are screws, ensure these are done up tightly once the wires are in place.

Step 8: Connect the Arduino

The power supply has output connections for 5V and ground (see diagram). Take the Arduino and cut a power wire (conventionally red, but whatever colour you are using) approximately 8cm long. Connect the Arduino to the power supply by screwing one end of the power wire into the ‘5V’ connection point and soldering the other end to the ‘VIn’ on the Arduino. Repeat the process with a ground (black, or whatever colour you have chosen) wire, connecting ‘GND’ on the power supply and Arduino.

Step 9: Connect LED Strip to Power Supply and Arduino

Thread the LED strip’s wires through the remaining empty hole in the box. Strip the LED strip’s power and ground wires. Connect the power (red) wire to the power supply’s ‘5V’ connection point (the Arduino is already attached to this) and the ground (black) wire to the power supply ‘GND’ connection point (the Arduino is already attached to this, too). Solder the LED strip’s signal wire to the digital pin 9 of the Arduino.

Step 10: Connect Motion Sensors to Arduino

Thread the motion sensors’ wires (9 in total) through the hole where the LED strip’s wires are. Solder the three power wires to the +5V of the Arduino, the ground wires to the gnd of the Arduino and solder the individual signal wires to Arduino pins 10, 11 and 12.

Step 11: Programme the Arduino

Download the code below called ‘motion_sensing_lights.ino’. Then, using the Arduino software downloadable form here, upload the code to your Arduino module. If you are unsure about how to do this, check out here.The code is pretty simple: it continuously checks if the motion sensors have outputted a signal and if so, starts a timer and turns on the led strip to glow up, stay on a minute and then glow down.

Step 11: Put on Bed

Shut the control box - the only things outside it should be the LED strip and the AC plug. Stick the box to the bottom of the bed in your chosen location - we did this using strong double sided tape. Then, attach the motion sensors to the bottom of the bed using double sided tape. The motion sensors should face outwards along the three sides of the bed which are not along the wall. Next, mount the LED strip around the perimeter of the bed. Although the LED strip has a sticky back, this is not strong enough to hold its weight. Therefore, we held it in place using plastic wire clips which we hammered into the bottom of the bed. Plug in and turn on the control box and turn the bed the right way up.

Step 12: Adjust, Test and Admire

Test out your motion-sensing underbed lighting. You can adjust the motion sensor sensitivity by putting a screwdriver through the top hole of the case and twisting the sensitivity resistor.

Step 13: Taking It Further

Using an ESP8266 module (Amazon) instead of the Arduino, it is possible to control the LED strip with your phone or with Alexa by linking it to the open source home automation platform Home Assistant. There’s already been a great tutorial on how to do this, and you can find it here.

Step 14: If You Can't Be Bothered

This product already exists, and you can buy from amazon here. But where's the fun in that?!

Code

Motion Sensing LEDsArduino
Upload this to the Arduino to make the project work!
/*
   T3chFlicks - Motion Sensing Under Bed Lighting
   Free to use and distribute.
   Find the tutorial and parts list at 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 seconds
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();
}

Custom parts and enclosures

Motion Sensor Case Back
Motion Sensor Case Front
Power Box

Schematics

Project Schematic
Schematic hujzmbuiir

Comments

Similar projects you might like

How to Configure NeoPixels Using Vixen Lights and Arduino

Project tutorial by Victor Aguilar

  • 18,597 views
  • 32 comments
  • 38 respects

Low Power RF Beacon for Remote Sensing & Communication

Project tutorial by Shahariar

  • 1,996 views
  • 1 comment
  • 16 respects

IoT Controlled Planter Lights

Project showcase by John Weers

  • 1,921 views
  • 0 comments
  • 12 respects

PIR Motion Controlled Relay Using Arduino Nano!

Project tutorial by HeathenHacks

  • 859 views
  • 0 comments
  • 6 respects

Automated Staircase RGB LED Lights

Project tutorial by Team NotEnoughTech.com

  • 30,021 views
  • 19 comments
  • 109 respects

Motion Sensing Alarm With Keypad & Password

Project showcase by thehack904

  • 11,700 views
  • 34 comments
  • 40 respects
Add projectSign up / Login