Introduction: Engraved Plexiglass Animation Box With Arduino and 8 X 32 LED Neopixel Display
I recently made a sign for work by laser engraving our department logo into a sheet of plexiglass and placing it on a strip of LEDs. Everyone thought it looked super cool and modern except one colleague who said it would be better if the logo was animated, like maybe spinning or something. "But that would require building a box with multiple engraved panels, each with their own light strip" I said. "Just saying", he said.
Step 1: Find a Walk Cycle
I became obsessed with this. I used to work in the animation industry so I thought it would be fun to use a walk cycle for a classic Disney character. A walk cycle is basically a sequence of 8 repeating frames that show your character in each of the poses required to make them look like they're walking. You can find walk cycles for various characters on YouTube. I downloaded a walk cycle video using one of the YouTube ripping sites, opened the file in Photoshop and exported the 8 frames I wanted as PNG files.
Step 2: Engrave Each Frame on a Sheet of Plexiglass
I originally wanted to laser engrave the art onto the plexiglass sheets but the cost was prohibitive. Instead, I bought a large sheet of plexiglass from Home Depot ($95), cut it into ten 12"x12" squares and etched the art onto each frame using a Dremel tool. It's not that hard to do this, actually. You can tape a reference image to the back of the plexiglass sheet and simply trace the lines. This takes about five minutes per frame. I did a few test runs with a different character before switching to the Pluto walk cycle. It's not perfect, but I wasn't sure if the animation would work and I viewed this whole thing as a proof-of-concept. I think if I do this again (99% likely) I'll do the image engraving with my 3D printer. This will take some fiddling as I need to replace the extruder with a rotary tool. Others have done this so I just need to follow their steps but it's a project in itself. I'll also need to vectorize the art, convert the SVG files into 3D model OBJ files, slice them into G-Code that my printer can read, then print all the frames. Sounds exhausting just to say it.
Step 3: Connect an LED Display to an Arduino
The next step is building a circuit to connect the Arduino to the Neopixel display. I used a Nano knock-off (we got 5 for $25 somewhere online a few years ago) and a no-name 8 x 32 RGB LED panel that claimed to be Arduino compatible (about $50 on Amazon). It didn't come with an information sheet but it turned out to be compatible with the Arduino_Neopixel library. Coding it was a breeze, I just modified some of the sample code I found so it would light up a full strip at a time. I included two potentiometers in the circuit, one to adjust the speed (length of delay before advancing the program) and the other to adjust the color. Nothing especially difficult there -- you take a 3V out of the Arduino, pass it through the potentiometers to the ground, then send the middle pins to analog in pins. Read their voltage every cycle and use that to adjust the hue and delay.
Step 4: 3D Model and Print a Box
The final step is 3D modeling and printing a box to hold everything together. I used a free modelling program by Autodesk called TinkerCad. It's fabulous. So easy to design what you want by dragging and dropping shapes, modifying their size and placing them wherever you want. You download your models as OBJ files and drag them into your slicing software of choice to generate the G-Code for your 3D printer. I used Ultimaker Cura. Two thumbs up for them!
I decided to print with a brown PLA plastic that has sawdust embedded into it. It has a slightly woody texture that makes me think of cardboard. The whole box wouldn't fit on my Creality CR-10 print bed (not even when positioned diagonally) so I had to break it apart and print everything as separate parts.The bottom, left, right, rear and upper baffles were all then glued together using Weld Bond.
Step 5: Enjoy!
It's been a strange project because there were so many steps and I had no idea if it was going to work until I put everything together. I'm pretty satisfied with how the thing came out but it's obviously still pretty "prototype"-ish. Let me know if this sparks any ideas for you. Sorry for glossing over so many of the steps. I figure the main thing is the idea. Feel free to ask questions about anything that needs more explanation!
Participated in the
Epilog X Contest