I've been playing with the idea of panels that are 3d printed in PLA, but that flex in only specific directions (I intend to make a Halloween costume using this). There are plenty of instances of plywood that's laser cut to accomplish this (like this from kofaktorlab), so I modified the patterns and started printing. And what better initial project with it than twisted lamps using 2812s to allow whatever colors I want. (Rainbows. Of course.)
The CRASH Space art show was coming up, so I decided to make a set of lanterns to hang in the hallway and react to people walking beneath them.
I've written everything up, but also take a look at the videos I created about the whole process. I even made one about the laser cut stand that I created to hold them at the Bay Area Maker Faire.
If you like this project, please consider voting for it!
Step 1: Materials
- Access to 3d printer (in this case, I used a Bukito)
- Rotary tool such as a Dremel
- Filament for friction welding the edges
- Glue gun
- String for hanging
- Snips and pliers
- Craft knife or scissors
- Soldering iron et al (third hand tool, solder, sponge, etc)
- Solid core wire
- LEDs (I used neopixels)
- PIR motion sensor
- Arduino (I used an Uno), and optionally a breadboard, depending on how many lanterns you want to connect
Step 2: Designing the Parts
I started out with small paper models of twisted prisms, and took my scissors to them until I got them looking like I wanted.
I wanted to have walls that would bend in only certain directions. If I wanted them to bend any which way, I could have made these with Ninjaflex and been done with it. To make them more rigid, I instead modified some of these patterns from kofaktorlab. I had to invert the pattern, as they are meant for removing material rather than adding it.
I combined the flexible patterns with the twisted prism models in Illustrator and exported SVG files of all the parts I'd need.
I then imported them into 123D Design and made thin pieces that I could print.
Step 3: Printing the Shade
Since the printer I was using had a limited bed size and I wanted a decently tall rectangular prism, I had to split each side into two parts and reattach them later (see next step). As you might imagine, it took a while to print all these parts. I used PLA, because it doesn't need a heated bed, and it smells better. And when you're going to be in the room with a 3d printer for ten straight hours, smell is a valid factor.
Step 4: Attaching Shade Sides
This is where I got to a technique I hadn't had much success with before. But then all of a sudden, I had something that I had to get it to work for. It's a technique that as well as I can tell was spawned by Fran Blanche in this video, and well-documented by Matt Griffin in his piece about finishing and post-processing 3d printed parts.
I taped the two parts of each side to the table and commenced friction welding them together on both sides, since it's such a small shared surface area and I didn't want it to get too bulky.
A couple other tips I have for this technique:
- Instead of using a 1/16" (or 3/32") collet, you can wrap a piece of tape around the end of a piece of filament to make it large enough for a 1/8" collet to hold. This works pretty well if you only need to do a couple things and don't have a smaller collet on hand, but it takes a lot of time to keep wrapping each new piece with tape if you need to attach large segments.
- Take some time to find your best method of holding the tool and material. Clamp as much as possible, and brace your arm/hand on a steady surface. I wound up holding the dremel a bit like a very large pencil with my arm braced on the table.
- Especially for something this thin, be gentle when spinning the filament against the print. If you push too hard, you will put a hole in your print
Step 5: Assembling the Shade
I wanted a diffuser for the lights I would eventually place inside, so I cut pieces of vellum to match and glued them to the inside of the sides.
To help the sides stay in place while I friction welded them together, I hot glued them to the base.
In retrospect, it would have eliminated so many headaches to glue the PIR sensor into the square hole in the base before assembling the very long, narrow shade. Pay attention to where your hands will or will not fit later in the process.
Step 6: String for Hanging
Using string to attach the other end's corners was also helpful to do before friction welding the edges. I made sure to tie the knot on the inside so that the strings would be able to go up through the holes in the top and help hold it in place.
Step 7: Securing Corners
More friction welding! Like, a lot of it. Initially, I just tacked it in a few places on each edge, but -- especially when it's a twisted shape that needs to take some pressure -- it's easy to break, and it also shows light through the crack, so I went back and did the full length of the edges.
Step 8: Electronics
If you have a strip of WS2812s that are the right spacing, then you don't need to respace and solder them like I did. I, however, am nitpicky and a glutton for punishment. Taping the 2812s and wires to a table kept them in place fine, though I do now have slightly melty spots on my workbench.
Step 9: LED Mount
I modeled up a mount that would hold my LEDs in just the right spots and attach to the inside of the lantern top. If you plan it a little more than I did, you can print this all in one piece from the beginning, but hot glue works just fine.
Once again, limited by printer size, I had to break up the mount into two pieces that slot together and were glued. Then I hot glued the LED strips in place.
Step 10: Wiring and Final Assembly
In order for the wires to get out to the Arduino, I ran them through the holes in the top, but not before marking the other ends with different colored sharpies, so I could identify which was which. I could have used different colored wires, but I wanted to maintain the all-white aesthetic.
My lanterns were going to be placed up and down the hallway at CRASH Space, so I soldered these shorter wires to some spare ethernet cabling to run them where they needed to be. If you want to give each lantern its own dedicated device, you could surely mount it to the top (either out or inside) and avoid the wire chaos. I had limited hardware and wanted them all to work in tandem anyway.
The code is always a work in process. It began as mostly the default Adafruit neopixel rainbow patterns, then went to random flashing lights, and it's currently a modification of someone else's code that I found here.
Step 11: Maker Faire and Proximity Sensor
For the CRASH Space art show, I was fine having a PIR sensor that reported merely motion or none. However, when taking these to the Bay Area Maker Faire, I knew that motion sensors would give precious little control in a crowd. So I incorporated a proximity sensor that adjusts the speed of changing colors to reflect how close someone is, and mounted it inside a 3d printed hand. The hand shape worked very well in clueing in people as to how to interact with the lanterns.
Step 12: Fin
And that's it! I like how they turned out, and would love to try making more (and larger) ones, since there are so many different shapes you can create like this. I need to make some adjustments for the more extreme distortions, as they don't always want to fit back into the regular lid shapes (as you can see with the triangular one in the photos).
Hope you enjoyed. Please share pictures if you try making one of your own!
Grand Prize in the
Rainbow Contest 2016