GESTURE CONTROLLED HOLOGRAPHIC MOOD LAMP
by Kavyashree Rai in Workshop > Lighting
1434 Views, 16 Favorites, 0 Comments
GESTURE CONTROLLED HOLOGRAPHIC MOOD LAMP
Hello everyone, welcome to my first Instructables publication. In this publication, I will be sharing how I made this simple yet incredible and beautiful mood lamp using very few components.
This is a spherical mood lamp that can be controlled by doing different hand gestures over it (Kind of like magic !!). You can control modes, colors, and brightness all with gestures. Since the hollow sphere of the mood lamp is 3D printed with transparent filament, the layer lines along with the trapped air between layers and the spere form a hollow graphic Christmas tree-like effect inside the sphere making it more amazing from all angles. The lamp can be recharged using a USB-C phone charger and can run for about 5-8 hours on battery depending on the brightness.
The lamp comes with 4 modes and within each mode there are multiple color options.
You can switch between modes by waving your hand from front to back or vice versa and you can switch between colors in each mode by waving your hand from right to left or vice versa. Make sure you gesture while standing in front of the lamp. (orient the lamp such that the charging port points backward).
MODE 1: Switch between your favorite 12 colors. You can set these colors to your liking by changing the RGB values within the code. You can also add more than 12 colors if you wish. One of the colors can be set to white in order to use as a normal desk lamp.
MODE 2: Switch between millions of random colors. In this mode, each time you gesture to change color the Arduino generates completely random RGB values to produce random colors. It's going to be a surprise each and every time!!
MODE 3: The light automatically fades between random colors.
MODE 4: The random color rotating light cycle is formed.
In between the mode and color changes, the lamp performs a small flash animation to let you know that the gesture is detected and the mode or color is being changed.
In order to change the brightness, place your arm right on top of the lamp and move it upwards, The lamp goes into brightness adjust mode for 4 seconds. During these 4 seconds, the lamp measures the distance between your hand and the top of the lamp and sets the brightness value based on the distance scale. Hence if you move your hand further away from the lamp the brightness increases and if you move it closer to the lamp the brightness reduces. The final brightness value is set to whatever position your hands were at by the end of 4 seconds.
The lamp was completely designed in Autodesk fusion 360.
Supplies
ELECTRONIC COMPONENTS
- 16 bit RGB LED Ring
- 18650 battery 2500 mah or more
- Arduino Nano
- IP5306 Battery Charging/protection/Boost module
- Push button
- APDS 9960 gesture/proximity sensor
TOOLS AND OTHER ITEMS
- Soldering iron and lead
- Scissors
- White masking tape
- Super glue
- 2 X 6 mm screws
MACHINES
- 3D printer (transparent filament + any other color)
- Laser cutter (2.5 mm acrylic sheet)
3D PRINTED AND LASER CUT PARTS
I have attached 3 STL files to be 3D printed and 1 DXF file to be laser cut.
The transparent sphere can be printed without any support whereas the base part needs support.
Print settings:-
- 0.2 mm layer height
- 100% infill
- 5 mm brim
- PLA or PETG
Laser cut base plate from 2.5 mm acrylic sheet. I have also included an STL file of the base plate to 3D print for people who do not have access to a laser cutter.
CIRCUIT DIAGRAM
Here is the circuit diagram of this project. As you can see, it's a very simple setup. The battery charging, protection, and boosting of the battery voltage to 5V are taken care of by the IP5306 module. It also has a 4 LED battery level indicator. The module also came with an optional push-button key attachment to turn the boost ON/OFF which we have taken advantage of to switch ON /OFF the lamp. The APDS 9960 is an I2c device, hence it's connected to the I2c pins A4 and A5 of the Arduino. The D1 (data pin 1) of the RGB ring is connected to pin 6 of Arduino.
ARDUINO CODE
The Arduino code for the project is attached in this step. I have added comments in the code for easy modification of colors. You can either upload the code before wiring if you are not planning to modify anything, else you can upload the modified code after all the wiring for trying out different colors. There are plenty of videos out there that show how to upload a code into Arduino nano, hence not being explained here.
Downloads
ASSEMBLY STEP 1
With a little bit of superglue, carefully paste the battery management module and the push button at the right positions as seen in the picture.
Make sure the glue doesn't go into the push button and jam it.
Also, be sure to align the USB C port with the slot provided for it on the 3D-printed base.
ASSEMBLY STEP 2
Solder 3 wires on the RGB ring as per the circuit diagram and leave about 10cm length of wire. Make sure you note down what color wire connects to each of the 3 soldering pads.
Apply glue on 4 spots on the ring and pull the wires through the opening on the base provided for it before pasting the ring light on to the base. Press for a few seconds to ensure a good flat bond.
ASSEMBLY STEP 3
Just like the previous step, solder the wires on the APDS 9960 module as per the circuit diagram and leave about 15cm length of wire. Make sure you note down what color wire connects to each of the soldering pads.
Once soldering is done, glue the sensor on the top slot as seen in the pictures.
Also, solder 2 wires to either terminal of the 18650 battery and insert it in the hollow cavity just below the sensor.
Once this is done pull all the wires to the bottom chamber through the holes provided for them as seen in the pictures.
Be careful not to short the battery wires.
ASSEMBLY STEP 4
Apply masking tape all around the vertical shaft such that all the wires and the battery are covered.
This is done basically to keep the battery and wires in place and also to reflect out all the light falling on it to prevent visible shadows inside the sphere.
ASSEMBLY STEP 5
Apply a thin layer of glue all around the open brim of the sphere and place it gently on the base. A guiding slot is provided on the base so that the sphere can be easily placed on the base perfectly.
Wipe off any excess glue with a tissue or cloth immediately.
ASSEMBLY STEP 6
Cut all the pulled-down wires to the right length and solder all the wires to the Arduino, battery management module, and the push button as per the circuit diagram.
Once this is done, upload and test the code.
One short press of the push button switches ON the lamp and a double press switches OFF the lamp.
ASSEMBLY STEP 7
Once you are happy with the working of the lamp, place the base plate on the bottom of the base and use five 2 X 6 mm screws to secure the base plate to the base. Make sure you counter-sink the five screw holes on the base plate using a wider drill bit if it's laser cut.
File or sand the excessive projection of the plastic push tab of the push button if it's extending out of the flat surface of the base plate so that the lamp stays level when kept on a flat surface.
Fully charge the lamp before use.
YOU ARE ALL DONE
And just like that, it's done :)
The lamp is easy to control and powerful enough to set the mood inside a moderate bedroom and the brightness feature allows it to be used as a night light. When in white light mode, it works as an excellent table lamp.
Hope you guys enjoyed reading about this project and I also hope all of you guys will enjoy making one of your own.
Thank you