An Elephant With Electronically Moving Trunk!!
by sriramrepaka29 in Craft > Cardboard
286 Views, 1 Favorites, 0 Comments
An Elephant With Electronically Moving Trunk!!
This project shows you how to make an Elephant with a moving trunk. I also added a electromagnet in the end of the trunk so that it can lift some objects just for an added touch.
Supplies
- Solenoid type electromagnet
- Tower Pro MG958 Digital High Torque Metal Gear Servo Motor(With maximum stall torque 20kg-cm)
- MT3608 2A Max DC-DC Step Up Power Module Booster Power Module
- D4184 Mosfet control Module Replacement Relay
- USB 3.1 Female Socket Type C Connector 24 Pins Breakout PCB Board
- Arduino nano
Downloads
Building Trunk
Have you ever make a skeleton hand based on straws and pulling a string makes the fingers fold. Same even I used the same principle for the elephant trunk. What I understood was that if I keep the length of the each fondling part in decreasing order then by pulling the string I made a perfect roll, and it replicates elephant trunk movement. In the PDF I shared Draft_Transp.pdf I made a template for the same, the left side figure is for the parts that move similar to figure segments. I used a paper straw to stick on to each part. The right side of the PDF segments are to form a dome like structure by folding it in a semicircle. The done height keep on increasing/decreasing based on how you see. So when ever we pull the string the smaller one tucks into the next dome as the next dome is bigger that the previous one.
If for I was not comprehensive enough then please see 2-3 videos on straw skeleton hand.
After I made the trunk I tried to pull the trunk and tries to roll it. I had to pull with certain force. I am going to use a servo motor so then I realized I needed a high torque servo motor.
Calculating the Torque Needed
My Elephant trunk was 35cm in length and I added an electromagnet (I will explain why in the next steps) in the end that weighed 50gm. So to lift that we want
torque = r X F
My servo motor had a torque of 20kg-cm if the input voltage is 6.6V. My whole trunk weighed around 500gms. So needed a torque of 35*0.5 = 17.5 Kg-cm.
You can also calculate torque this way, my motor says it can lift 20kg if my the object rotates in 1cm radius, so 20*1 = 20 kg-cm. So now the torque is fixed we can either change the weight or radius, if one increases the other has to decrease. So my trunk is 35cm long so It can lift (20/35 = 0.571) kgs. Either choose a motor and then choose the length and weight or vice-versa.
The Electromagnet
I used a electromagnet. Why? you ask, I wanted the Elephant to lift and drop things as simple as that. An electromagnet is something that is a magnet when you pass current though it and it is not a magnet the moment you stop the current. So when the Elephant wants to lift an object I will pass current through it, and when the Elephant wants to drop the object I stop the current. Only problem is that the object should be magnetic, so for this I generally stick a screw or a nut into the object I want the Elephant to lift if the object is not magnetic.
But the electromagnet cant be controlled using an Arduino as the my electromagnet uses 12V to function.
So I used a Mosfet based relay I will discuss about that in a different project.
Just to mention that I have attached the electromagnet to the smallest folding part in the trunk, or the last part of the trunk.
Managing the Power Supplies
My servo motor uses 6.6V and electromagnet uses 12V, but I wanted to use only one USB-C cable to power my project just to make it universal. I want to power my project using a 5V output type C adapter. So I used this step up buck converter to up voltage to the desired value from a 5V source. This buck converter is a beautiful and helpful device and has many applications. You give 5V input to it and you can have outputs from 2V-25V you just have to turn the screw to change the value. I used 2 of them one for 6.6V and one for 12V from a common 5V input.
Code
Code to control the Mosfet
const int Mos = 2; \\Mosfet controll the mosfet void setup(){ pinMode(Mos, OUTPUT); } void loop(){ digitalWrite(Mos, HIGH); delay(60000); degitalWrite(Mos, LOW); delay(2000); }
Mosfet pin connected to PIN D2 and my motor takes 6sec to roll the trunk so a delay of 6sec. When Mos is HIGH the electromagnet becomes magnet. 6sec delay to lift the object
Code to control the servo motor
#include <Servo.h> // Create a new servo object: Servo myservo; // Define the servo pin: #define servoPin 9 // Create a variable to store the servo position: int angle = 0; void setup() { // Attach the Servo variable to a pin: myservo.attach(servoPin); } void loop() { // Tell the servo to go to a particular angle: myservo.write(90); delay(1000); myservo.write(180); delay(1000); myservo.write(0); delay(1000); // Sweep from 0 to 180 degrees: for (angle = 0; angle <= 180; angle += 1) { myservo.write(angle); delay(15); } // And back from 180 to 0 degrees: for (angle = 180; angle >= 0; angle -= 1) { myservo.write(angle); delay(30); } delay(1000); }
- Servo red wire – 5V pin Arduino
- Servo brown wire – Ground pin Arduino
- Servo yellow wire – PWM(9) pin Arduino
Using Type C
I used this breakout board to use Type C, I will discuss that in an other project.
Mounting Everything
I mounted everything on a MDF board and and then I used 4 cylindrical sticks to mount the MDF board. These hide behind the head and legs so don not worry these are not the Elephant legs
Elephant Body
So far we have made only the trunk. Now I have used papier-mâché to make the Elephant head and legs then I used thin cardboard to make the ears. I don not have a template for ears and legs but they are very easy to make. Now, if you can and are creative then try making your own Elephant head using papier-mâché you can add your own touches. I am also attaching a template to make an Elephant head it is time consuming but a worthy project. I only used the template to make tusks and they turned out great. Add extra background decorations to improve your project