2.4 - Implementation

2.4 - Implementation

Fabrication and Assembly

All CAD modelling and virtual assembly were completed in Onshape prior to any in-person fabrication, minimizing unnecessary physical assembly iterations and allowing design issues to be caught early in the process.

image-20260503-022247.png

Utilizing configurations in CAD allows for fast changes to link lengths, as well as central hole spacing.

 

Stage 1: Plywood Prototype

The first iteration of the mechanism was fabricated from 6mm plywood. Linkage geometry was designed in Onshape and exported for cutting on the Trotec laser cutter in the TIW. The laser-cut plywood pieces were then assembled using M4 nuts and bolts to connect the linkages. This stage was used to validate the overall mechanism geometry and range of motion before committing to a final material.

image-20260503-022057.png

 

image-20260503-012828.png
Figure 1: Motorized Plywood Assembly

Stage 2: Acrylic Prototype

Once the mechanism geometry was confirmed, the design was re-cut from 6mm acrylic to produce a more polished and visually appealing final build. Acrylic parts were again laser-cut on the Trotec and assembled using the same M4 nut and bolt hardware. Connector and interface components that could not be flat cut, such as joint hubs and mounting brackets, were designed in Onshape and 3D printed in PLA on a Bambu printer.

image-20260503-021334.png

Figure 2: Updated Base Design

image-20260503-012553.png
Figure 3: Motorized Acrylic Assembly

Stage 3: Split Mechanism Design

During the acrylic assembly phase, it became apparent that the motor did not produce sufficient torque to drive the full system as a single integrated mechanism. To address this, the design was split into two independent subsystems:

  • Motorized Subsystem: driven by the motor for automated demonstration.

  • Manual Subsystem: operated via a hand crank, giving the player direct force input and control over shot speed.

This split preserved the core design intent while ensuring reliable motor operation within its rated performance envelope.

image-20260503-012932.png
Figure 4: Final Split System Design

Electronics and Circuitry

Below is a rough sketch of the circuitry for the system. A 12V battery is used to power everything, feeding power to the Arduino via the motor controller. The motor is connected to the motor controller to allow for directional control of the motor and the joystick acts as a button and thus only needs the analog signal from it.

 

image-20260503-014453.png

Software Development

The goal of this setup is to make a DC motor spin exactly one rotation whenever you press a button on a joystick. Because standard motors don't have built-in sensors to know their exact physical position, the Arduino uses time-based control. It assumes that if it runs the motor at a specific power level for a specific amount of time (for our system, 0.7 seconds), the motor will complete exactly one 360-degree turn. The Arduino continuously watches the joystick button; the moment it gets pressed, it signals the motor controller to fire up the motor for that exact duration. To make this work, the joystick button is wired to a digital pin on the Arduino (let's say Pin 2). The Arduino's main loop acts as a constant watchman, checking the state of that pin over and over.

  1. The Trigger (Watching the Joystick):

void loop() { // Check if the joystick button (connected to Pin 2) is pressed if (digitalRead(2) == LOW) { rotateMotor(); // If pressed, start the sequence } }

  1. The Sequence (Spinning the Motor):

void rotateMotor() { // 1. Turn the motor ON at your chosen speed analogWrite(enA, 255); // 2. Freeze the Arduino for exactly the time it takes to do one turn delay(700); // 3. Immediately cut the power to stop the motor analogWrite(enA, 0); }

 

Bill of Materials

Part

Purpose

Quantity

Price

Source

Part

Purpose

Quantity

Price

Source

12 x 20 6mm Plywood

Mechanism links/Frame

1

$7.00

TIW

12 x 24 6mm Acryllic

Mechanism links/Frame

1

$18.00

TIW

M4 Bolts

Keep links and spacers together

14

$0

TIW

M4 Nuts

Hold bolts in place

14

$0

TIW

M4 Washers

Spaces links from bolts and nuts

36

$0

TIW

Wood Glue

Hold support linkages in place

1

$0

TIW

Ping Pong Ball

Used for projectile launched

3

$0

From Home

12V 100RPM Motor

Driving the mechanism

1

$0

In Bins

12V Battery

Powers the Motor

1

$20

Amazon

Arduino UNO

Used to Program Motor

1

$0

From Home

L298N Motor Controller

Used to Control the Motor Movements

1

$0

From Home

Small Analog Joystick

Activated the motorized subsystem

1

$0

In Bins

Table 1: Bill of Materials