Introduction: Pixel Smart Lamp
This is a project I made for a smart lamp controled by Bluetooth with an Android App developed on Android Studio.
Pixel's main goal is to display beatiful lights. It's fireplace lightmode, for example, let's you see how a single-pixel fireplace might look like. Also the rainbow mode shows how a lot of gradients are "naturally" formed by the leds.
Pixel's eletronics are an Arduino Nano and 10 addressable LEDs ws2813. It also has a display showing the time, and a buzzer so you can set up an alarm.
It's body is made with MDF (laser-cut) and acrylic.
Github for .apk, arduino files, app files.
EDIT: uploaded the cutting sheets for the MDF part
- Arduino nano;
- Bluetooth module HC-05
- Real Time Clock module;
- 4-digits LED display;
- 10 x Addressable LEDs ws2812b
- 4 x Buttons;
- 5V-2amp font.
Step 1: Setting Up Eletronics
My first step, after getting the eletronics delivered, was assembling all of it on a protoboard.
This way, I could test it and begin programming the Arduino.
I had to:
- Solder the leds;
- Assemble all devices on protoboard;
- Assemble the 10 addressable leds (two for each side of the cube, minus the bottom);
- Begin programming.
Before getting the acrylic cube for the final display, I tested it on my mother's plastic bowl.
Step 2: Programming
My next step was programming. First, the arduino with all the funcionalities I first imagined for Pixel:
- Display current time on clock;
- Set up alarm for waking up (or a timer);
- Display several lightmodes, from a simple white lamp to a rainbow show or a fireplace. For this part, several examples on FastLED library for Arduino were very helpful.
After completing it, I had a fully controllable lamp, using analog buttons and the potentiometer. So, the next step was setting up the bluetooth connection with an app I made just for Pixel. This was the part that took the longest. Before this project, I had no knowledge on Android programming, and didn't even know Java language. But I already knew Object-oriented programming, so I started a Android programming course, on Udemy.
You can check all you want on my Github. The link is above on the beginning of this arcticle.
Step 3: Designing Pixel
At this moment, I had imagined how Pixel would look like, but it was time to put it on the paper. Actually, on my PC. Since I would build Pixel on MDF wood and acrylic, I knew I had to draw a very precise project. So I chose a CAD software and started drawing Pixel.
This might look a bit much, but I already knew CAD drawing from my graduation course on Engeneering. And it was very helpful for getting the 2D drawings for laser cutting the MDF.
Step 4: Assembling the MDF
After drawing Pixel on CAD, I contacted a local company that made acrylic objects, like displays, trophies, etc. These places usually have laser cutting machines, so I asked if they could build my acrylic cube and cut the MDF.
So I got a 6mm MDF board, and sent them the cutting drawings.
I received them like in the picture above, and assembled all of it using cyanoacrylate glue.
Step 5: Soldering the Components
This was one of the most hard moments. I didn't have any experience soldering eletronics, so I watched some videos and tried it.
Step 6: Finishing the Wood Work.
At this moment, I had Pixel working as I've planned it. Some adjustments were necessary, like the setting up the LEDs brightness.
But the MDF finishing wasn't as I expected. So I got a wood sheet, witch is a very thin piece of wood. I covered all the MDF surface with if, after making sure the clock display could emit light through it.
Step 7: Enjoy the Lights!
After all this work, I had a lamp that was much brighter and better looking than I first imagined it.
You can check on the video above all of Pixel's light modes.
Please contact me if you have any doubts on your project. I will ble glad to help :)
Participated in the