Motion Sensing Under Bed Lighting

7,443

140

10

About: Somebody once thought they could fix a plug socket using chopsticks. They caused a meltdown and burnt down a town. If only they'd watched T3ch Flicks!

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.

Materials:

Files (https://gitlab.com/t3chflicks/night-light-leds):

Step 1: Watch This!

Step 2: 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 3: 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. You will also need to download the FastLED library from 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 12: 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 13: 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 14: 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 15: If You Can't Be Bothered

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

Share

    Recommendations

    • Tape Contest

      Tape Contest
    • Trash to Treasure

      Trash to Treasure
    • Arduino Contest 2019

      Arduino Contest 2019

    10 Discussions

    0
    None
    KmanSweden

    Question 14 days ago

    This just loops for me. Detection seems to be happening all the time. Still powering everything of the arduino thou...

    5 answers
    0
    None
    t3chflicksKmanSweden

    Answer 12 days ago

    Hmmmm, I had issues when using the ESP8266 but not the Arduino. Try running a simple sketch to see if the motion sensors are working properly:
    // start script
    int motion_sensor_pin = 2; // pin 2 of arduino
    int motion_detected = 0;
    void setup() {
    Serial.begin(115200);
    pinMode(motion_sensor_pin, INPUT);
    }
    void loop() {
    motion_detected = digitalRead(motion_sensor_pin);
    if(motion_detected){
    Serial.println("Motion was detected");
    }
    delay(250);
    }
    // end script

    0
    None
    KmanSwedent3chflicks

    Reply 1 day ago

    With a separate power supply everything works like a charm. Thanks. :)

    0
    None
    t3chflicksKmanSweden

    Reply 21 hours ago

    Great to hear! Jag hoppas att ni kommer att tycka om våra kommande project!

    0
    None
    MohammedA687

    12 days ago

    ooooh good job thank s ===,

    0
    None
    nemisis010

    16 days ago

    Great project! Would love to see a 12v version of this as well if at all possible.

    1 reply