Introduction: ChemE Cat

This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com).

Step 1: Creation of 3D Parts: Cat Body

The first piece created was the ChemE Cat’s body. This was done by first creating a 2D sketch of a circle that is 355.094mm, and then a 2D sketch of another circle that is 78.54mm. (Note: All circular measurements are done by circumference.) These circles were then connected to create a cone shape. Once the cone was created, it was then made hollow to make the piece more cost effective and to allow the servo motor to be placed in the body. A 2D sketch of a 289.23mm circle was then placed over top of the larger 355.094mm circle, and a 37.699mm circle was placed over the 78.54mm circle. These were extruded inward to make the body hollow. Then, a 36.876mm by 14.372mm rectangle (approximately the size of the servo motor) was created in a 2D sketch and placed horizontally onto the body of the ChemE Cat. This piece was also extruded inward to make it as a hole where the servo motor would fit. On the opposite side of the cat body, a 53.25mm by 15mm by 15mm rectangle was created and extruded outward from the body. A 22.619mm circle was extruded into this piece to create a hole where the still arm could be attached.

Step 2: Creation of 3D Parts: Moving Cat Arm

The second piece created was the moving cat arm that connects to the servo. This arm is a 40mm by 15mm by 15mm 3D rectangle. This was created by making a 2D 15mm by 15mm square and extruding it 40mm outward.

Step 3: Creation of 3D Parts: Still Cat Arm

The third piece that I created was the cat arm that holds still. To create this arm, first repeat the previous step to get another 40mm by 15mm by 15mm rectangle. Then create a 15mm by 15mm by 15mm square, and attach this to the side at the bottom of the 3D rectangle. Then create a 21.991mm by 15mm cylindrical extrusion that comes out from the center of the 15mm by 15mm by 15mm portion of the piece.

Step 4: Creation of 3D Parts: Cat Hands

The final step in creating all of the 3D pieces was creating two identical cat hands. These were both done by making a 15mm by 15mm by 15mm cube. Depending on the size of the test tubes that you wish to use, the size of the extruded hole inside these cubes may vary. I ordered a pack of test tubes off Amazon.com that were 12x75mm plastic PP tubes. In order for the test tube to fit into the holes of the cat hands, the diameter of the circles extruded inward need to be slightly larger than the 12mm diameter of the tube. 12.5mm (diameter) circles sufficed for this.

Step 5: Placing the 3D Pieces Together

The first step in putting all of the pieces together is sliding the still cat arm into the hole inside the piece extruding from the right side of the body. Two part epoxy was used to secure these pieces together. Next, place the servo inside of the cat body so that it sticks out about halfway, with the blade facing you. Be sure to secure the blade onto the servo with a screw so that the arm can properly support the weight of the test tube. Once the blade is screwed in, use the epoxy to glue the end of the moving cat arm directly to the blade. The epoxy may take a while to dry, so hot glue may be used for temporary structural support around the edges while the epoxy dries. (Caution: Do not try to move the cat arm while glue is drying; it may fall off.) This completes the structural portion of the instructable. Be sure to drill a hole into the top of the arduino box that is large enough to fit three wires through, before gluing the base of the cat body to the top of the box.

Step 6: Circuit Schematic

This is the circuit schematic for the ChemE Cat. The analog controller pictured is connected to analog pin 0 (seen in black). The servo motor is connected to digital pin 9 (seen in yellow). Both the analog controller and servo motor are plugged into power and ground respectively. When I use my hand to manually control the analog controller, the analog controller will send a signal to the arduino, telling the servo motor how many degrees to rotate.

Step 7: ChemE Cat Code

The following is the code used for the ChemE Cat:

#include
Servo myservo; // create servo object to control a servo int potpin = 0; // analog pin used to connect the potentiometer int val; // variable to read the value from the analog pin void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object } void loop() { val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180) myservo.write(val); // sets the servo position according to the scaled value delay(15); // waits for the servo to get there }

The purpose of the portion of the code called "Servo myservo" is used to create a servo object that can control the servo motor. "int potpin = 0" is created so that the arduino knows that analog pin 0 is being used to connect to the potentiometer. "int val" ties into the previous line because it is the variable used to read the actual value from the analog pin. To attach the servo on pin 9 to the servo object, "myservo.attach(9)" is used. "val=analogRead(potpin)" then reads potentiometer value, which will be between 0 and 1023. This must be scaled using "val=map(val,0,1023,0,179)" to a value between 0 and 180, since a servo motor can only rotate between 0 and 180 degrees. "myservo.write(val)" will be used to set the servo position according to this newly scaled value. Finally, "delay(15)" is simply used to wait for the servo to get to the specified position.

Step 8: The Final Product

When the ChemE Cat is fully constructed, you will be able to turn the analog controller (You may want to drill a hole in the side of the box so it can stick out, if you wish to close the box.) however far you desire so that the cat arm connected to the servo will rotate. If desired, you may also choose a safe mixture of vinegar and baking soda (with food coloring) for the ChemE Cat to mix when the arm turns.