Have you ever looked a picture or painting and hoped it move? Not in the sense of a movie but a subtle change. That the Mona Lisa would blink or the snow would actually glisten. Some kids picture books do this, you press a button and a song plays. It's a simple thing but it takes something that was once static and gives it a new dimension. Art has an impact on us, but in this scenario we have an impact on it. That's the driving idea behind this project.
Inspired by shadow boxes and art based on fairytales, we came up with our own spin on the classic shadow box and made an art piece that executes different actions based on which sensors people press.
Final Demo Video:
PRE-PRODUCTION PHASE:
While important for any project, this phase was crucial to figuring out what we needed in terms of electrical components as well the actual set up of our enclosure. Our enclosure was not only going to hold components, it was a part of the interaction. Everything had to be planned out. The sketches allowed us to see what kind of artwork we wanted for our box as well as what electrical reactions would be appropriate.
Sketches/Initial layout:
These were our first sketches of the project and how we envisioned it to look as well as what kind of interactions we would have. The overall concept stayed the same, and slight adaptations were made that we thought would better fit our vision.
We settled on 3 main reactions we wanted to focus on: a light reaction (stars twinkling), sound (we envisioned a sheep noise), and motion (a motor that would drive and change the moon phases). From there we could figure out what materials we needed and could more accurately lay out what it was going to look like.
We also met with our professor and mentor for this project to figure out functionality and what components would best suit our project. We ultimately decided to ditch pressure sensors and instead work with capacitive touch sensors since this would allow us to customize them. We also figured out what motor we should use. As we received parts this gave us a better understanding of how big it needed to be in order to fit different components (ex. the motor needed to fit as well as a space for the speaker). This also altered the image itself as we had to determine where mountains and stars should go in order to create the best electrical/non-electrical reaction in the picture.
Materials:
Electrical:
we bought:
- Adafruit SD Card Reader Breakout Board ($7.50 here)
-Sparkfun Audio Jack Breakout Board: ($3.95 here)
-Micro SD Card and Adapter 2 pk - we only used one for this project ($8.95 here)
-Continuous Micro Servo x2 ($7.50/each here)
-Hamburger Mini Speaker ($4.95 here)
-9V Battery ($0.95 here)
-9V Battery Holder ($2.95 here)
-Stranded-Core Wire: ($2.95 here)
-Solid-Core Wire: ($2.95 here)
-1M ohm resistors ($0.50 here)
we found/gifted/already owned:
-Copper tape
-Neopixels (12 total)
-Arduino Unos
-Blackboard
-Breadboards
-Solder
-Jumper Wires
-Transistors
-10 K and 100 ohm Resistors
Non-Electrical/Enclosure:
we bought:
-2 sheets of 1/4 inch Sandalwood Plywood (here) - We did end up buying four because our first two were burnt heavily at the edges by the laser cutter the first time we cut, and we did not account for thickness in the model of our wood so they did not properly fit together.
-Colored Construction Paper 9 total (Ranged in Price here)
-Double-sided tape (here)
-Velcro strips (here)
had/gifted/found
-Clear Acrylic
-Wood Skewers
-Wood Finish
-Paint
-Hot Glue
-3D printed holder for the skewers
-Cardboard
-Foam
-Wood glue
Model and Art Design:
Once we received the majority of our electrical components we were able to figure out the layout of of our project and what we needed to account for in terms of size. We then modeled it and did a sketch in Illustrator of what we envisioned for the artwork.
The image on the far left is not the final one. The one we ended up using is the one in the middle.
Once we made the adjustments we needed to the image we put them in rhino to get the lines we needed and put it through the laser cutter.
Here are the files for the background portion (the snow was hand cut)
DEVELOPMENT AND BUILDING:
Software: For the software, we did each part individually before putting it all together.
Capacitive Touch Sensors:
We first figured out how these work, by testing them with a simple led breakout board. All that was needed was wire, copper tape, and a 1 M ohm resistor. We used code from the Capacitive touch library for the code to set up and then we tested them to see what values it read in. All of the values are arbitrary, and by testing them first we figured out that values over 400 were caused by people touching the sensor. We then used this as the condition in if statements to initiate a reaction.
The nice thing about capacitive touch sensors is that they required only one wire and since they used copper tape they could easily be customized. We modeled different shapes for our capacitive touch sensors. We wanted to add acrylic to them just to give them a more finished look rather than just being tape. We then cut the copper pieces to fit the acrylic bits.
Twinkling Lights:
For the twinkling lights we ended up using neopixels. We collected strands that we used for a lab that contains 5 of them as well as strands from other people who were no longer using them. We then cut each one individually and resoldered them in order to space them out more. We only ended up using 12, but it was nice to have extras since neopixels are super finicky when soldering. Then using the simple code from the Adafruit library for neopixels we made sure that they were each were properly working. All of the leds turned green confirming our solder connections were good, and then we hot glued the parts with the wire connection in order to secure them a little more. While looking at tutorials for how we would code a twinkling effect or something similar that we could adapt, we found a site where someone had written a ton of code for neopixels to do special things. We found one that did a twinkling effect and was exactly what we wanted so we used that.
Here is the code (we credited the other person and included the link to their website:
This is our test for our strand of neopixels with the capacitive touch sensor.
Schematic:
Sound
For this we first had to solder our SD card breakout board. We then had formatted our micro SD card to be read into arduino code. Then we found wav files for the different sounds we wanted to use. The .Wav files had to be formatted in specific way in order to play.
Sample per second (Hz): 1600
Channel: Mono
Bits Per Sample: 8
I was doing a similar thing for a different project so the sound we used to test it was actually not any of the sounds that we used and was supposed to sound like ducks. For a while the set up wasn't working and we found that we were missing a transistor. By adding this we did get it to play just very quietly. We were initially using a different speaker as well. It did not have the best sound quality so we ordered a new one, but this one required an audio jack breakout board.
Initial Speaker Test:
Picture of Circuit:
Second Speaker Test:
This test was with the new speaker and the audio jack. It definitely sounded a lot better. The only fall out was that this speaker did require charging. So, we had to also make sure there was a way for us to easily get to the speaker to take it out and charge it when we needed to.
Picture of Circuit:
Schematic:
Code:
Motor and Moon Phases:
To figure out the motor we followed tutorials for continuous servo motors. They can sometimes be finicky and they don't exactly stop at 90, so we had to play around with it to figure out what value we needed for it to stop (93). Our first motor stopped working (thankfully BEFORE we put it all together). We luckily bought two, they aren't the most high quality motors, but they did work well for our project because they were so small.
Here is a video of us testing it:
We then modeled a 3D part for the motor for us to stick skewers into. At the end of the skewers we could have our paper moon cutouts attached. We glued the skewers to it and the little piece that connects to the motor so it could be detachable.
Schematic:
Code:
For the electrical components, we had a lot of issues putting it together. At first we thought it was a power issue, but even with the power we couldn't get it to work the way we wanted to. It was little glitches like the motor would tick, or the sound wouldn't work with the neopixels and the motor wouldn't work with the sound, etc,. After a lot of research we figured out that the issue was most likely the libraries we were using. Neopixels have delays and things built into them that causes other functions to be stopped. Delays themselves could be an issue since they do the same thing. We saw recommendations to switch to Millis(). However, everything worked the way it was intended on their own microcontroller. I did have an extra one so we put everything on it's own thing. The sound was located at the bottom and we supplied power to it using a battery. The motor and the lights had their own microcontrollers and code, but they shared a breadboard. We supplied power to the breadboard using the 9V cord we got for class in order to power them both.
Putting it all together:
We got construction paper that were similar to the colors we had in our digital piece. Since we only had one sheet per color, we did a test cut out of normal drawing paper before cutting the actual things to see how it would fit in our box.
Thankfully we did this because we found that we drew the picture to the dimensions of the inner rectangle of the frame and that we should do it to the dimensions of the box.
We then cut it out of our official paper, and painted little details. We were a little worried about the sheep since they were so small, but they laser cut perfectly fine.
We painted the inside black to make the edges of the paper a lot less noticeable. We also cut cardboard for the night sky to make it more sturdy.
Now that we had all the pieces it was time to put it together. While printing, we found some black foam in boxes that were going to be thrown out. They had pieces with the perfect thickness that we needed. We used an exacto knife to make them the shapes we wanted. It cut so well which was nice. We also cut pieces that were used as spacers for the night sky pieces.
To assemble it we did everything in pieces. We began by using velcro to stick the arduinos and bread board to the back of our box. We then situated spacers for where the night sky was going to be.
We tried to hot glue the foam, but the glue just caused it to melt. To get around this issue we used double sided tape which worked really well as it didn't cause the paper to get warped and it didn't react poorly to the foam. We also set up the moon with all its components.
To fit the motor in without adding too much space between the night sky and the mountains, we cut a hole in the cardboard and glued the mounting edges of the motor to the back of the cardboard so only the part that spins stuck out. We then were able to connect the moon part that we 3D printed to the motor.
We added our last layers using the foam, and then added some wood finish to our box to make it a little more polished.
FINAL:
Reactions:
Seeing people's reactions was really fun. We didn't really explain what it was to people we just encouraged them to play with the sensors. The favorites were the sheep noises and the moon. It was interesting to see what people thought of it was well as what it reminded them of. One person said it reminded him of a pop-up book which really is a perfect description and one I didn't even think of prior to. Other people said it reminded them of fairy tales, Adventure Time, etc.
Comments