This project combines an infinity mirror and a strip of neopixels programmed to perform as a clock.
Step 1: Materials
For this project, you will need:
- 1m of 60 neopixels
- Arduino Uno
- Real-time clock
- 10" x 10" mirror
- 10" x 10" piece of glass
- Wood glue
- 11" x 11" piece of cardboard/ thin plywood for the back
- Window tint
- 3D printed Arduino case
- High-temp hot glue
Step 2: Circuit
Here are a few pictures of the circuit and how I connected all the wires. Connect each connection for the neopixel strip and the RTC to the appropriate place on the Arduino. Everything should be clearly labeled.
Step 3: Coding for Your Arduino
The InfinityClock file is the code for your neopixels to show time. One neopixel represents the hour, one represents the second, the minutes fill up around the clock, and there are neopixels of a different color to represent the places where each number would be.
The InfinityDate file similarly displays the date with the month at one of the twelve hour positions and another color filling up as days go by. There is also a color that shows where the numbers on a clock would be.
You will need to include a library in your code to work with the RTC. I used "Rtc by Makuna."
Try running this code on your neopixel strip before moving any further with your project. You can easily adjust the color of each aspect of the clock.
The picture with pink and purple lights is telling time, and the picture with orange lights is telling the date (11/29).
Step 4: Tint Glass
To tint the piece of glass, buy window tint made for an car and follow the instructions for applying.
Make sure your glass is very clean and lint-free before application, and be sure to smooth out any bubbles. I used a credit card for this.
Step 5: Cut and Paint Wood
First, cut out four pieces that will make up your frame with the following dimensions:
2 pieces of 3/4" wood which is 2" x 9 3/4"
2 pieces of 3/4" wood which is 2" x 11 1/4"
These will fit together to form a box which will have an interior measurement of 9 3/4" x 9 3/4".
Next, I used a SawStop and lowered the blade into the table until there was about 1/4" left above the table. I used this to cut a groove in all four pieces of wood for both the piece of glass, 1/2" away from the front, and for the mirror to sit in the back.
Paint all of these pieces black, to give a nice dark background for the neopixels.
Drill a hole in the top piece for your wires to come out of. It should be near the middle.
Step 6: Glue/ Nail Wood Together
Use wood glue and a nail gun to put your bottom 3 pieces together. Make sure you slide the front piece of glass into your frame before attaching the last piece. Now attach the last piece with wood glue and nails. Be very careful that your nails are not running into your glass or the space for your mirror.
Step 7: Glue Neopixels Onto Wood
Use high-temp hot glue to glue your neopixels in between the glass and the mirror. Start at the middle of the top. Thread the wires from your neopixels through the hole. There should be 8 neopixels going to the right (clockwise) before your first corner. Then there should be 15 on the 2 sides and the bottom, and you should finish up with 7 more on the left of the top. Make sure your last neopixel is on top of the wires running out of the frame. Check your neopixels and your code to make sure everything still works before securing the mirror and the back.
Step 8: Place Mirror and Staple Back Board On
Place the mirror in your grooves in the back, and staple or nail on the back board, being careful not to hit the mirror or glass. You should now be able to see the infinity effect if you turn the lights on.
Step 9: Print Arduino Case
I printed a case for my Arduino to keep everything neat and out of the way, and attached it with hot glue. Here is the Arduino Uno Case I used.