Introduction: Origami Interactive Kinetic Art
Kinetic Interactive Arts? These concept of moving arts and interacting arts are not new to you, but most of the interesting and massive size pieces are almost always located in private companies or corporations. I was inspired by the piece "Diffusion Choir" located in a tech atrium of a company in Boston, and I wanted to make a small scale project. I love art (public art), electronics, and stuff that moves so this is a great opportunity for me to hand on all of them in a single project.
This project involves 3D printing pieces, and majority of the main components I designed by myself so few free to modify and adjust the 3D printing model. I mainly use Rhino 3D so if you want to change the model, please check out my files at the 3D printing section. While you are reading this instructable, if you are planing to follow my steps, I would warn you about the limited resources as I did not keep track of all the components. I was experimenting within the project to make each piece working as I was intended. I encourage you to do the same thing and a lot things can be learned while making it by yourself.
Have fun and do not destroy a lot of servo motors like I did :>
Movin' on!
Supplies
You will need the following for the main part of the project, you may want to figure it our by yourself on how to install the piece in your place.
- 1 Arduino Uno
- 4 Ultra Sensors (I used HC-SR04)
- 4 9G Micro Servo motors (not the continuous one, but if you want modify the 3D models + code, the project can be better)
- Jump wires
- 1 Breadboard (mainly for testing, I would put the breadboard away for the long-term installation)
- 1 AC/DC Adapter for Arduino Uno
- 4 White Paper (letter size - the thinner the paper the better the result)
For installation, I used Scotch Mounting putty (great stuff for hanging on window)
Step 1: What Does It Look Like?
Here is a quick video on how this thing would turn out.
The mechanism activate when someone/object is closed to it (in this project, if less than (<) 1 meter, the origami will blooms.
Step 2: Schematic of the Project (general)
*Feel free to adjust the circuit*
I planed to relying on Arduino Uno power supply (it was a bit glitchy in the project if you use the USB cable to test run the project - try to upload the code to Arduino and use the Adapter Power instead) (I will explain details on why the glitch happens later)
Arduino Uno has 13 digital gates (try not to use gate 0 and 1 because if those gate received signal, the signal could change the code saved in your Uno, they are Serial Ports (USART)) and the project will take up full 12 remained in Uno digital gates, which is perfect.
By these order gates 2-3 are for echo-trig of the ultra-sensor, I may want to repeat that 3+ times for 3 other ultra sensors (4-5, 6-7, 8-9). From gates 10-11-12-13, they are for servos (in order) 1-2-3-4. Each of the ultra sensors are related to one of the servo motors.
You can use the power setup to supply the components like in the schematic, but what I used was parallel circuit to supply them (which is not great and the current is not strong enough to run all 4 at the same time, and that is why the glitch happens)
Step 3: 3D Printing
The joy of 3D design *talking in sarcastic tone*, these models that you are seeing here are not the first design, they are all my 4th design within this project.
If you 3D printing and the products seems not really fit that is because I design that would fit the 3D printers I used (Original PRUSA i3 MK3S printers). The design files are all in perfect size (try not to change it). You can use the 3dm from Rhino3D to make change to the models. If you don't have Rhino, you can try the Evaluation Software Rhino 3D.
Get stl files here (you will get linked to Google Drive for these files)
3dm file is also in the link above.
For a set of the kinetic blooming piece, you will have to print:
- 1 main_gearHolder.stl
- 4 main_gearWithHole.stl
- 1 servo_holder.stl
- 1 servo_gear.stl
- 1 servo_pusherPlunger.stl
- 1 padbase.stl
Step 4: Assembling 3D Pieces
After printing, you can try to connect them.
I connect the main_gearHolder to the servo_holder by using solder tip to melt the plastic and stick them together (also trying to aim somehow the gear_pusherPlunger to fit in with the servo_holder, because if you make a slight off-position the pusher will not catch the gears). Better, you can use super glue to connect 2 pieces of plastic together.
Using the cheap tips of the chopstick I can assemble the gears into the main_gearHolder. Snap off the hanging plastic pieces that is used to snap on the servo motor gear, push that piece into the servo_gear. You may find it will not fit properly, my trick was using the solder tip to melt the plastic around the inner rim.
To get the white piece stick on the padbase, I snapped off the extra part of the pusher and using hot glue to stick it on to the base (make sure you position to fit the hole on the base where the servo wire will go, check the 3rd pictures to see what I mean)
Using skewer sticks to plug in the hole in the gear (4th picture).
Step 5: Folding the Papers
This is the trickiest part as the fold is depending on you. I designed this fold to fit the opening mechanism of the servo, because the 9G Micro Servo is not a powerful component to handling large force (yes opening the paper and closing paper can require substantial N to open and keep it open and closing it). The servo motors will make noise when there is some applying force against its spinning motion.
Use the picture 1-2-3 to be your references of your fold. The hole in the middle of the paper is 3.5 x 3.5 cm. I was planing to make a video on how to fold this piece but it will add more complication in my writing process. I will upload the video sometime soon.
Also, you need to make 4 of these folds (not a lot but the measuring part and the folding part can take quite a lot of time) ask your friends to help you :)))
Step 6: Code!!! and Check If Everything Work Properly
Get the code in this step and test it with your Arduino Uno.
Put everything together and check out the interactiveness of the project. Edit the code to make your own animation.
Few code explanations:
We will need to use the Servo library #include . You also need to instantiate the library by calling "Servo servo1;"
For the ultra sensor, calculating Distance to activate
vs = 340 m/s = 0.034cm/micro s
We are going to use 0.034 cm/micro s for the function "distance = duration * 0.034 / 2;"
deg variable is for the angle of the servo to open to, i set mine to be 60 degree because if it open more than that the servo will make annoying sound because it couldn't handle the force of the paper.
Attachments
Step 7: Complete Installation
Interactive arts are meant to be in public, spaces where people can play with it freely. I decided to put my work in a club room where people can hang out and play with it.
I added the 3D printed case for the Arduino to clean up the looks, organized the wires to make it looks neat and Voilà the installation is completed.