This Instructible was created in fulfillment of the project requirement of the Makecourse at the University of South Florida.
For my semester project for the Makecourse, I chose to create a mechanical shark. The concept is simple - create a shark that can move its tail and mouth, and have it play some kind of music.
Step 1: Components Needed
3D Printed Components:
- Enclosure with lid
- Body/bottom jaw of shark
- Top jaw of shark
- Tail fin of shark
- Arduino Uno
- Touch Pad Sensor Module
- Two Servo Motors
- The motors I used included a SG90 9G servo for the tail and an aftermarket servo used in RC planes for the mouth
- 10K Rotary Potentiometer
- 100μF capacitor
- 8 ohm 1W Speaker
- 9V battery
- Arduino adaptor for 9V battery
- Modeling clay (optional)
- Grey acrylic paint with paintbrush
- Two small white pom-poms for the eyes
- Two small googly-eyes
- Adhesive velcro strips
Step 2: 3D Printed Parts
Above are the 3D printed parts I used for this project. Attached are the files for the solid models.
Step 3: Electrical Components
Above is the Fritzing diagram illustrating the circuit which I used. The Fritzting library did not have the touch sensor I used, so I simply edited the picture to include it.
For my circuit, I used a smaller breadboard than the one in the diagram, and it worked just fine.
Step 4: Arduino Code
Attached is the Arduino code I used for the project, as well as the library used for creating melodies. Both of these are needed to control the electrical components used in this project. For the library, you will need to download it and place it in the "libraries" folder within the Arduino folder on your hard drive. The program also uses the "Servo.h" library, which is included in the Arduino program already. The code should work with any servo, but the sweep produced will vary between different brands.
For more information regarding the TimerFreeTone library, here is the link where I found it.
Step 5: Final Assembly
Once the 3D parts are printed out, you can begin assembly.
- One of the first things I did was paint all of the 3D printed parts aside from the box. This is optional. Depending on the quality of the 3D prints, you could just use the grey material and that would work just fine. Since the prints I got weren't perfect, I decided to paint them grey to cover up any minor imperfections.
- For the tail servo, I designed the back of the bottom jaw model so that the servo would simply slide right into place. Superglue is optional, but isn't completely necessary. I did not include any tolerance for the gap, so it's a very snug fit.
- When I printed out the bottom jaw and body portion, there was an ugly seam of missing print material that went around the entire body - to fix this, I used grey modeling clay to fill in the space, then painted over it.
- Put the finished electronic components into the enclosure, and drill holes which are convenient for accessing the wires. Feed the wires through the holes to ensure a clean look, with no unexpected stray wires poking out
- Apply strips of adhesive velcro to the battery, location where battery will stay, bottom of bottom jaw, top of enclosure lid, bottom of mouth servo, and location where mouth servo will be placed. You can opt to use superglue or some other adhesive. I chose velcro as it was easier to apply, and so that I could use some of the parts in other projects later on.
- Superglue the speaker to the bottom jaw portion, and feed the wires through the hole. Depending on the width of the wires for your speaker or servo, the hole may need to be made slightly larger in the 3D model.
- Glue the googly-eyes to the pom poms, then glue them to the top jaw.
Very carefully glue the small arm of the top jaw to the mouth servo motor. You may need to tape it to hold it into place to ensure a strong bond, or consider using epoxy or printing a piece to fit the servo motor. This was one of the weaker points of my project, as it was very fragile around that point. Paint over the glue to cover it up.
And with that, your assembly of my mechanical shark should be complete!
I hope you enjoyed, thank you very much for viewing!
Step 6: Overall Thoughts of the Project
I'm very glad I ended up taking this course. At first I was just scrambling to find another tech elective to start finishing up my senior year, but by the end of the course I really ended up learning a lot. This project was a lot of fun, and I know I'm going to be able to use the tools from this class for Capstone design and further mechanical design ventures.
Please feel free to show me any upgraded mecha-sharks, I'd love to see!