University of Cincinnati CCM Mechatronics Spring 2026 (Meowtar) (Jaye and John)

by jayebloemeke in Circuits > Arduino

31 Views, 0 Favorites, 0 Comments

University of Cincinnati CCM Mechatronics Spring 2026 (Meowtar) (Jaye and John)

Cover Cat.jpg

The goal of this final was to make a puppet that had moving parts from servo motors and use all of the given materials within the project.

The vision was to make a knock-off Zoltar machine with a cat instead.

Supplies

For the Puppet:

  1. Faux Fur
  2. Styrofoam ball
  3. Beads
  4. Fishing Line
  5. Clay
  6. Diffused ornament
  7. Purple fabric or fabric color of your choice
  8. Eva Foam
  9. 1/2" Dowel
  10. MDF Strips

For the Electronics:

  1. Arudino
  2. IEC
  3. Breaker
  4. Outlet
  5. Push button switch (2)
  6. Relay
  7. E26 Socket, and a low-wattage lamp
  8. Copious amounts of wire
  9. Servo Motors
  10. Plastic box
  11. Lauan
  12. Flip Switch
  13. LEDS
  14. LCD Screen
  15. Terminal strip
  16. Oven Switch

The Wiring Behind Meowtar: Getting Input Power

Before any wiring occurred, we took the time to make a wiring diagram and mount all electronics within the plastic box, with the exclusion of the LCD screen and 1 push button.


After that, our first step is as follows we created a wiring diagram of all the components in our system.

Following this, we began the wiring.


  1. Crimp on wire to the IEC for 5V, N, and Ground.
  2. Then run the + wire to your breaker, then to the terminal block.
  3. Run the - wire directly to the terminal block on the opposite side.
  4. Run the Ground to the center of the terminal block.
  5. The terminal block was then chained 6 ports for 5V and Neutral, respectively, with Ground in the middle.

Powering the Key Components

wire 3.jpg

Once the breaker and IEC were wired with Input power, it was time to start wiring in each component.

  1. The oven switch. Run a + wire from the terminal block to the oven switch.
  2. The output of the oven switch then gets wired to the Outlet.
  3. The outlet still needs a ground and - wire, so those are both run from the terminal block to the outlet
  4. We wanted the outlet and the lightbulb to be on a switch in case we needed to turn it off. We did this by running a positive wire from the outlet to the flip switch. The output of that then went to the E26 socket.
  5. The last wire we ran to the E26 switch was a - wire from the terminal block.
  6. The last thing that was run to our initial terminal block system was the Yellow switch. The yellow switch we have has an Incandescent light inside. A - and + wires were run back to the terminal block so the light would trigger upon power on.
  7. The other two wires on that switch were wired to our Arduino for - and our input pin (+)

The power supply in the photo was supposed to be used for servo power; however, we powered the servos with the Arduino with no issue.

The Arduino Coding and Wiring

For the coding of Meowtar we focused on three specific parts. Those parts being the Servos, LEDs, and the fortune-telling machine.

The concept was to use the LCD for fortune-telling, and the 2 servso to control individual ear movement.


For the LEDs, they are wired in parallel, in 8 sets. At the press of one of our buttons, the Arduino tells those to flash in order from set 1 to 8. (Taking up whichever DIGITAL pins were chosen for this part.) They would flash in a Larson sequence until power is lost.


Please see the following code for said sequence:

// ===== LED START BUTTON =====

bool startState = digitalRead(ledStartButton);

if (startState == LOW && lastStartButtonState == HIGH) {

ledRunning = true;

}

lastStartButtonState = startState;


// ===== LED SEQUENCE =====

if (ledRunning && currentMillis - ledTimer >= ledInterval) {

ledTimer = currentMillis;


for (int i = 0; i < 8; i++) {

digitalWrite(ledPins[i], LOW);

}


digitalWrite(ledPins[currentLED], HIGH);


currentLED++;

if (currentLED >= 8) currentLED = 0;

}

This is the Larson sequence that was mentoned beforehand. Yes it could be done via a lot of delays and loops, but this was the most efficient way to do so, using the bool and if statements. This would create an indefinite loop, looking for if the button was pressed, then the code would run into the Larson sequence and constantly cycle through the LEDs.



For the servos, they are set to variate between two positions. 0º and 25º, making the ears wiggle. The ears are set to wiggle until the fortune button was pressed, to which then they would pause (Meowtar) is thinking, and then a fortune would display on the 16x2 LCD. After he is done thinking and saying your fortune, he would resume his ear wiggle.

// ===== SERVOS =====

Servo servo1;

Servo servo2;


int servo1Pos = 0;

int servo2Pos = 0;


// ===== SERVO CONTROL =====

bool servosRunning = true;

unsigned long servoTimer = 0;

const int servoInterval = 20;

int servoStep = 1;


int servo1Min = 0;

int servo1Max = 25;


int servo2Min = 0;

int servo2Max = 25;





The Arduino:

For wiring the Arduino, we first obtained power from the Outlet using the AC Converter included in our Arduino Mega Starter Kit. That provided enough voltage so that all of our components could function properly. The LCD was wired into digital pins 22,23,24,25,26,27 (respectively being RS,W,DB4,DB5,DB6,DB7). Any other needed pins for the LCD were wired into the breadboard and got power from the 5V and Ground of the Arduino.

For the LEDs, they were wired in parallel and then joined into sets of 3 with a wire nut. The wire going out of the wirenut was soldered to a 220 Ohm resistor, then run to the Arduino on digital pins 2-9. The grounds were all tied together into the same input ground in the Arduino.

For the buttons, the red button was wired with a pin going to - on the breadboard, and the other pin going to A2 for control. The yellow button had a wire going to - on the Arduino and the other wire going to its A3 Control.


The Puppet and Box

Puppet.jpg
puppet 2.jpg

Making of the box

  1. The first step was making a cardboard mockup of how we wanted the animatronic to look.
  2. From there, we took the dimensions of our mockup and cut pieces of Lauan to match that. To attach the lauan together, 1x4 blocks were installed and secured. A hole was drilled for the LCD and button.
  3. Lastly, the box was sanded and painted.

Making of the Cat Head

  1. The first step was creating the head. This was done by wrapping a styrofoam ball in tinfoil. The tinfoil was molded to have a little snout area sticking out.
  2. The tinfoil mold was then wrapped in faux fur that was glued on.
  3. Following that, buttons were attached to pins and stuck in the head. To add a little shine, a white dot was added.
  4. The whiskers are thick fishing line and were glued directly into the puppet head.
  5. The last part of the head was the nose, which was sculpted from polymer clay.

Making of the Cat Paws

  1. The paws were shaped using tinfoil
  2. The tine foil was wrapped with fur.
  3. Then, polymer clay toe beans were sculpted and glued on.

The Ears:

  1. The ears were cut from Eva foam, then shaped using a heat gun.
  2. They were then wrapped in Faux fur and attached to MDF sticks with a finishing nail and copious amounts of glue.
  3. The MDF sticks were then mounted to the servos using glue. ( In this case, our servos have the circular disk attachment.)

Mounting everything:

  1. The cat head had a 1/2" hole drilled in it, and a dowel was attached. This was then stuck out the backside of the box and glued into place.
  2. A purple fabric to represent the cat's robes was then laid down and glued to the inside of the box.
  3. Following that, the paws were glued in along with the ornament to act as the cat's fortune ball.
  4. The servos were mounted to the back of the box by drilling a rectangular hole and sticking them through.
  5. Lastly, the LED wiring was taped over using red gaff tape to give the illusion of a curtain. This can also be another type of fabric covering for a cleaner look.