For my final project, I am going to be making an infinity mirror. An infinity mirror is a box, with a mirror on the bottom and a reflective surface on top with LEDs in the middle. This project was chosen to combine all of my skills that I have used so far and to bring in new ones. I will have to use my coding skills to program the LEDs, my soldering skills to solder the LEDs together, my laser cutting skills to cut the acrylic which will be used for the mirror and reflective surface, and I will have to learn how to use the woodcutting materials to cut the wood for the box itself and to add grooves for the wires and so it will stay together. This project will have a lot of small details and lots of pieces, but in the end, the final product will be amazing.
This is my inspiration for this project. I found this project on the Instructables website. This specific project was made by ChromationSystems. This project will be different than the one I will be making, which will be 6x6 instead of 10x10 which this project is. I will also use a strip of neopixels instead of singular LEDs which this project is using.
My Timeline
For such a big project, there are lots of individual details. There are so many different things I need to take care of, which can be overwhelming, so I decided to make a planned timeline of my assembly of the infinity mirror. Of course, plans change, so some dates and events would be switched. Below are pictures of my original plan on the right and my updated, final plan that I used on the left. Here is a brief day by day schedule that will be more specified in the categories farther down:
Day 1 - November 9th: We completed the TinkerCAD Neopixel activity with the code for my neopixels.
Day 2 - November 11th: Cut wood pieces into 2 around 15 inch pieces and added a groove for vinyl.
Day 3 - November 27th: Created a rough plan for the project.
Day 4 - November 28th: Practiced using the WIMO with the one blinking LED project. Added a groove to my neopixels for the mirror. Soldered on the first, long wires to the end on my neopixels and got this first strip to light up. Cut out vinyl pieces.
Day 5 - November 29th: Added 45° cuts to each of the 4 sides. Added another neopixel strip of 4.
Day 6 - November 30th: Continue soldering neopixels.
Day 7 - December 1st: Continue soldering neopixels.
Day 8 - December 2nd: Finish soldering neopixels and code final neopixels.
Day 9 - December 5th: Digital portfolio.
Day 10 - December 6th: Add groove for neopixels with the shaper origin.
Day 11 - December 7th: Install the reflective mirror film.
Day 12 - December 9th: Glue wood sides. Practice bread board.
Day 13 - December 12th: Solder onto cookie
Day 14 - December 13th: ***See December 12-13 section below.
Day 15 - December 14th: Work on digital portfolio.
Day 16 - December 15th: Work on digital portfolio. DUE BY THE END OF CLASS!!!
Day 17 - January 6th: Finished project.
This is my original plan, with dates and specific planned times for each step of my process.
This is my final calendar after completing the project. As you can see, my schedule has changed since I first planned the the project.
TinkerCAD Neopixel Practice
For this practice, we created a strip of neopixels on TinkerCAD and programmed them to light up and a certain pattern and color. We were given a picture of a circuit we needed to assemble, which included one Arduino board, one power source, one resistor, and one 16 strip of neopixels. I connected the positive charge on the power source to the power dot on the neopixel strip, the negative charge on the power source to the ground of the Arduino and then to the ground on the neopixel strip. I connected the resistor to the -6 pin on the Arduino board and then to the "In" pin on the neopixel strip. I was then given the coding for the neopixels to light up. We were challenged with figuring out how to change the color of the neopixels in the code. I found a spot with three numbers set up like this: (0, 0, 0). This was the RGB values, indicating how much of each color was combined to make the color I wanted. I wanted a light blue color, so I used (204, 204, 255). This is the color and code that I will use for my actual neopixels. When making our neopixels for the infinity mirror, we will not use an Arduino to send code to them, but we will use a WIMO. A WIMO stands for wifi module. We will also use a different power source.
This is my virtual circuit, neopixels, and the code used to light them up, as well as make them light blue.
Preparing My Wood Pieces
The outside frame of the infinity mirror needs to be perfect. It will hold my entire project together. Starting off, I took a long piece of wood and cut out two smaller pieces. These were around 15 inches but it did not matter if they weren't perfect, as we would be trimming them later. I used the Fablab tablesaw to cut these pieces. Once I had those two pieces, I took both and added a dent with the router tool. This dent would be where I placed my piece of acrylic. I added another groove into both pieces wood, but not through the wood, with the table saw. This would be for my mirror. I used a jig to cut 45° cuts into the wood, halfway, I then used it again to trim the other sides of the wood, so that there were 45° cuts on both sides of each piece. I repeated this process for the other wood piece until there was 4 wooden sides with 45° cuts on both sides. Finally, I used the shaper origin tool to add a groove for my neopixels on each piece. I used a special tape to tape each piece on a specially marked board, and added this board to the jig with the shaper origin. I moved the shaper origin on the lines added by the machine to make this groove. On one piece I added a small hole with a drill, where I would thread my neopixels through to install them. With all of my pieces done, with all the cuts and grooves, they were ready to be assembled.
These are my wood pieces after they were cut to around 15 inches each and the indent for the acrylic was added.
This is a picture of me, while I was adding the groove in the wood for the mirror with the woodcutter.
This is a video of the process I used to add the groove for the mirror to the pieces of wood.
These are my wood pieces with the groove for the mirror.
These are the wooden sides with 45° cuts on both sides.
This is the shaper origin tool and my wood pieces with the grooves for the neopixels added.
Preparing My Acrylic Pieces
For my infinity mirror, I needed to make the mirror and the infinity! I cut two 6 by 6 inch squares of acrylic using the Fablab laser cutters. I created the design for the squares on Corel Draw and also used Corel Draw to laser cut these pieces of acrylic. I saved my design to my Eng Proj folder and dowloaded this design onto the computer connected to the large laser cutter. I spaced the squares where I wanted them and selected the material type on the laser cutter, acrylic. I auto-focused the laser and began the cutting process. Once I had my pieces of acrylic cut I peeled off one side of the brown tape of one of the vinyl pieces. I took a 6 by 6 inch piece of reflective film and used two pieces of tape to peel off the clear backing from the film. I sprayed the acrylic piece and the sticky side of the film with the window solution. I carefully placed the film onto the sprayed acrylic. I used a squeegee to press out all of the air bubbles. This would be the mirror of the infinity mirror. On my other piece of acrylic, I added a mirror sticker. I simply peeled off the backing and stuck it on to my other piece. Both of my acrylic pieces are ready to be installed.
These are my vinyl pieces, after they had been cut.
This is the laser cutter cutting out my vinyl pieces.
This is the piece of vinyl with the reflective film, installed in my box.
Neopixels - Creation
For the lights inside of the infinity mirror, we are using a strip of 16 neopixels. We were given 4 sets of 4 neopixels. On the end of a neopiixel strip, of 4 neopixels, there are three copper dots. One labeled ground, the other 5V, as this was how much power it needed, and the other labeled PIN. We had 4 strips of 4 neopixels each with the copper dots on both ends. I soldered them all together, using wires with the normal colors of red, for power (5V), and black for ground. I made sure the arrow indications on the neopixels were facing the same way, so they would work. I added longer wires to the end of the connected neopixel strips, with the same coloring. These would connect to my WIMO, or wifi module. On the ends of these wires, I added wires with female ends. I soldered these two wires together, twisting the ends to make sure there was a good connection. I insulated this with hot glue. I repeated for the other two long wires. The female ends would now attach to my WIMO. I added headers to my WIMO so that the female ends could actually connect. These headers stick right through all of the pins on my WIMO. Once I had finished soldering my neopixels together, I insulated all open wires with hot glue, so I would not be shocked.
This is my ending neopixel strip with all of the longer wires attached. In order from left to right, black connects to ground, grey connects to the pin (I am using pin 2), and red connects to 5V (power).
This picture shows 2 strips of neopixels connected, continuing the color order and the arrow direction.
Neopixels - Coding
I then needed to send code to my neopixel strip through my WIMO. I had never used a WIMO before, so I practiced using it by changing the code from our one blinking LED project that can be found in "Grab a Byte" to fit a WIMO. I changed the pin number and board becuase we were using a WIMO instead of an Arduino, steps to doing so found later in this section, and assembled the one blinking LED like I did previously. It worked, so I moved on to coding my neopixels. To code the actual neopixels I simply took the code from the neopixel TinkerCAD practice and pasted it into the Arduino IDE application. I had to change the pin number to pin 4, because that was where the wire connecting to my neopixels would go. On the WIMO, it is pin 2 and the pinout for pin 2 is "4". I plugged in my WIMO to a port. I changed the port number under the "tools" category and then the board. I was no longer using an Arduino board, I was using a WIMO. I pressed upload and sent my code to my neopixel. I lit up! My WIMO will remember this code, so my WIMO coding was done.
This is my one blinking LED projet, but using my WIMO instead of an Adruino board.
This is a video of one of my neopixel strips lighting up.
This is a picture of my final neopixel strip, all connected, lighting up.
This video shows all of my neopixels lighting up.
Neopixels - Power Source
Before, to power my neopixels, I had been using the school's computer's port. Of course, I can not take the school computer home, like I will be taking my infinity mirror home. Instead, we will be given a 5 volt power source that can be plugged into a wall. I will need to solder all the wires and and my WIMO onto a small breadboard called a "cookie" so that I won't have to assemble this breadboard, pictured below, each time I want to turn on my mirror. I still need to practice assembling this breadboard so that I don't make a mistake when assembling my cookie for soldering. I connected my WIMO's ground to the negative power rail on the breadboard, its power to the positive rail and its pin 2 to a row on the board. On this same row I connected another wire to my pin wire on the neopixels. I added another wire to the negative power rail and then connected that to the ground wire on the neopixels. I added a wire to the positive power rail and then to the positive wire on the neopixels. The last 2 wires I added, one on each power rail, would connect to the power source. After my practice board was done, I moved on to creating my cookie. I simply re-made the breadboard practice circuit, but I used the cookie instead of the breadboard and soldered everything in place.
This is my practice breadboard connected to my neopixels.
These are my neopixels, once powered by my practice breadboard.
This is a closer look at my LEDs being powered by my practice breadboard.
This is my "cookie" with all of my wires soldered in, just like they had been on my practice breadboard.
Assembling My Project
First, I took my reflective acrylic piece and added it into one side of my box with the film side facing in. I added all of the other wood sides and glued them all together with wood glue. I let that dry for a weekend. I then threaded my neopixels through the drilled hole and took off the sticky backing to stick it on the inside. Once my neopixels were installed, I would have added the last piece of acrylic and stuck my cookie to the side of my box. I was not able to finish this part, more information on why can be found below.
This is my project, with the LEDs installed, but without the final piece of final.
December 12-13
I was not able to complete my project before the December 15th due date becuase of an electrical error in my neopixels. On December 12, I assembled my cookie which is connected to my neopixels. I soldered everything correctly on my cookie, but for some reason it did not light my neopixels. I knew that I soldered everything correctly becuase I used a multimeter to check that my whole breadboard was being powered, which it was. I figured that there must be somthing wrong with the soldering of my neopixels. I ended up getting a strip of 16 neopixels instead of the 4 sets of 4 neopixels I had been using previously. I added the three wires to the end of this strip and re-connected it to my cookie. This, again, didn't light the neopixels. I tried to re-program the neopixels with new code, but I still wouldn't work. December 13, I was still trying new things to light my neopixels. I went to a teacher to ask for help, and he suggested trying a different cable and power source. He grabbed one that was labeled with red tape, which usually means that it is a 5 volt power source, which was what my project required to light. When he plugged it in, my neopixels and WIMO caught fire and started smoking. He immediatly unplugged my project and read the actual label, and figured out that the power source was actually 12 volt. My project could not handle that much power and it ended up short circuiting and my neopixels, WIMO, and wires were fried. This simply shows the importance of figuring out what the right power is for your project. I was unable to finish this project in time becuase I did not have any neopixels.
This is my neopixels and WIMO after it short circuited.
My Final Project
Eventually, my teacher gave me a strip of pre-made LEDs. These LEDs did not need to be soldered and I easily plugged them in. They came with a remote and now I can change the color, without having to re-program them like I would have had to do with my WIMO. While this was not what was planned, this was a great learning experience and now my infinity mirror will work without the worry of a short circuit or a fire.
This is a video of my final infinity mirror, using the remote to change the color.