After all the layers were designed, I decided to laser-cut them in cardboard. Not only did we not have enough plywood for me to use 36 sheets of, but I also thought it would be easier to work with cardboard in general as it is more flexible. I only used one sheet of 1/8" plywood for layer 23, as it would make the look of the project more diverse. The pictures below show a couple of the laser cuts in process.
After I laser-cut the layers, I started assembling and wood-glueing together layers 3-14 first. I used two wooden dowels of 5/16" to make sure that each layer was centered. This step is shown in the picture below on the left. I then glued together the first two layers, and laser-cut the curved sections in acrylic. I superglued the acrylic onto layer 2. This step is shown in the two pictures below to the right. The first one is the laser-cutting of the white acrylic pieces and the second is the glueing.
Afterwards, I glued the two sections I had together, with layer 2 facing upwards.
Then I got the LED string lights. I pushed every other LED into each hole in layer 15, taping the LEDs that weren't in a hole to its wire.
I also went ahead and glued together layers 16-22. I ended up cutting away the section of the layer with the holes for the wooden dowels, as I realized that they would get in the way of the string LED wires. I then used three male to male jumper wires and attached them to the 5V, DI, and GND pins from the female end of the LEDs.
The first picture below shows each of these parts.
After glueing the layer 15 section with the LEDs to layers 16-22, I tested out a simple Arduino code for the LEDs. As this was my first time using string LED lights, it took a few minutes to figure out what was going on. After a little while though, I was able to manipulate the code as needed. The second picture shows the testing of the code and wiring of the LEDs. The third picture shows the same testing of the code and wiring, just with a different LED color and including the first 14 layers, diffusing the light.
After the LEDs worked with the code, I decided to cut the string LED wire between the 19th and 20th LED, as I did not need the rest of the LEDs after the 19th. This way, I didn't need to create more storage space in my project to keep LEDs that I was not going to use.
It was time to move on to the capacitive sensors. I first had quite a learning curve about what they were and how to use them, but after researching about them for a little while I understood how to use them. I decided to use PCBs as sensors, and I milled them in the shape of the curved sections in layer 23. When I milled the first PCB, I realized that it was slightly too big to fit in nicely. I made adjustments and an offset for the milling machine to run so that they would fit better. The first picture below shows the milling of the first sensor, and the second picture shows the milled PCB with the offset lay in layer 23.
After I milled 10 PCBs that had the offset, I tried to do a proof-of-concept trial with the first PCB that did not fit well into layer 23. I soldered two resistors onto the sensor, a 1M Ohm resistor on the left and a 5.5k Ohm resistor on the right. I connected the 1M Ohm resistor to pin 4, and the other resistor to pin 8. Then, attaching an LED to the Arduino Uno, I found a basic capacitive sensor code that worked. On the serial monitor, no one pressed the sensor, the values on the screen stayed between 1 and 10. When I pressed the sensor, the value shot up to 3000, making the code rather easy to modify and personalize. The picture below to the left shows the code's serial monitor output value shooting up when I tap on the sensor, and the picture on the right gives a better view of the wiring.
I did encounter some challenges in getting the capacitive sensors to work, though.
The first challenge was that after messing with the code for a little bit and retesting the sensor, I came to a hurdle in the proof-of-concept. The values on the serial monitor updated slowly unless I put my finger behind the pins on the Arduino that the resistors went into. I realized later that it was because I had accidentally initialized and constructed another sensor in the code and that the send pin number in the parameters of the construction did not match up with the same send pin number in the parameters of the sensor I was using. This caused the readings to be muddled. Luckily, I sorted out the code and it worked in the end. The picture below shows the LED working better and having a faster response time with my finger behind the pins of the resistor, functionally acting as another capacitor.
Afterwards, I added to the proof-of-concept with two sensors and the string LED lights to simulate what would happen in the final project with 10. My mistake here was that I had only used one LED pattern, and so I didn't simulate how the code would differentiate which signal came from what sensor. This error would manifest itself later on in the next challenge I faced as described below, when I superglued all the sensors into layer 23 and wired everything together. The picture to the right shows the double-sensor proof of concept working, as well as the wiring. I overcame this mistake later on when I needed to wire everything together. I went through trials and errors until the code worked in the end.
Afterwards, I soldered the rest of the PCBs and superglued them into each curved section in layer 23.
Another challenge I faced was letting all the sensors share a 1M Ohm resistor. I thought that if all the sensors could share resistors, it would not only save materials but it would also prevent the buildup in resistance from sensor to sensor. I didn't realize this at the time, but after I had changed all the sensors to having direct contact with only one 5.5k Ohm resistor, instead of including the 1M Ohm resistor, it was impossible for the code to recognize which capacitive touch came from what sensor, since the signal would have been shared when going through the resistor. The picture above gives a glimpse of the change; on the right soldered dot, the 1M Ohm resistor had been replaced by a black wire. The pictures below show the wiring of all 10 sensors pre-wired and post-wired. You can see that the black wires all go to share a row with the 1M Ohm resistor.
However, at this point, if I wanted to fix the problem I would have needed to re-solder every sensor, but time wouldn't allow for it. So, I ended up going with the flow of having the same pattern show no matter which sensor you pressed. I had made the code so that when you press a sensor, the lights start from the first light and go around until the last one.