Introduction: The Soberpult ;)

For when that tequila starts tasting a little bit too good.

The Soberpult was designed to help you, your friends and your loved ones when times are tough. It doesn't care if you think you have a problem or not because it knows you do. It senses that sad alcoholic life of yours and catapults every shot you pour right into your face.

The Soberpult launches your bad habits right back at you, turning you from an obnoxious drunkard to a functional member of society.

The Soberpult, bettering society since 2023.

Supplies

Electrical Components

x1 ELEGOO UNO R3 Controller Board

x1 Micro Servo Motor 9G (SG90)

x1 Servo Motor MG995

x1 Water Level Sensor

x8 Male-to-Male Dupont Wires

x6 Male-to-Female Dupont Wires

x1 USB cable


Physical Materials

x1 3mm Plywood Sheet (Sized 18"x30")

x1 6mm Wooden Dowel (Length 3')

x7 1-4" Screws

Elastic Band

Plastic Shot Glass

Super Glue

Wood Glue

Electrical Tape

Liquid (Water or Alcohol)


Tools

Hammer

Screw Driver

Miter Saw


Equipment

Computer

Laser Cutter (Bed Size 18"x32")


Software

Rhino 7

Arduino

Step 1: Programming the Code

The way that Soberpult works as a successful machine is through the use of code, and here we have used Arduino IDE. You can either download the code we have linked below or, challenge yourself by reading this explanation and attempting to code it yourself.

How the Code Should Work

In simple terms, your two servos will each have dedicated jobs, servo1 (Servo Motor MG995) will pull the elastic band into tension, and servo2 (Micro Servo Motor 9G [SG90]) will release the arm. The code also runs a reset to put the arm back in its original place so you can continuously pour shots and get splashed (this way, there is no escape and you can never have another shot of alcohol ever again).

For the throwing part, create an If statement in which the water sensor will detect how much liquid is in the shot glass, and set your servos to react at a reasonable speed and move accordingly by adjusting delay values (depending on your elastic strength, or how fast you want your system to react to the shot being poured). Both servos should start at 0 degrees, servo1 should move first at 180 degrees maximum, and then servo2 at a minimum of 90 degrees and a maximum of 180 (we have it at 180 for safe measures). At this time, the Soberpult should have launched the alcohol at your victim, I mean, your beloved friend that you care about.

In order to reset your system, you will need your elastic to release out of tension. For this retracting part, servo1 must move first once again, retracting the elastic, and then servo2 will move second, holding the catapult arm in its original place. Both servos should return to 0 degrees, and once again you can adjust their speeds using delay values.


Once you have figured out the code or downloaded ours, connect the controller board to your computer using a USB cable and upload the code.

Step 2: Physical Construction & Assembly

Cutting Your Pieces

Using the attached laser cutting file, and the outlined plywood material above to cut out the defined parts.

Base Structure

Assemble the primary structure, followed by its corresponding supports. Separately, glue together the arm pieces, and edge pieces with the hook pieces sandwiched in between. Attach both servos to the central base, servo1 located by the guard piece and servo2 on the opposite side. Both starting angles of servo1 and servo2's lever should be facing toward the machine.

Additional Components

Using the miter saw, cut the dowels to their corresponding lengths (1.7cm, 7.5cm and 11.75cm). Assemble servo1's lever arm components with the 1.7cm dowel, and attach the lever arm to servo1 while it is already secured to the base. Assemble and attach the guard pieces with the 7.5cm dowel, then attach them to the base. Insert the largest dowel into the pre-defined holes on the lower part of the base and the main arm's connection point. Use glue to secure the dowel to the base but not to the arm piece. The main arm should still rotate around the dowel.

Make It Functional!

Attach the shot glass to the far end of the main arm, near the smaller motor's position. Attach the elastic from servo1's lever arm to the main arm's hooks. With the arm in its resting position, the elastic should have zero tension (So choose which elastic band you decide to use wisely).

Step 3: Attaching Motors to the Circuit

To connect the controller board to the Soberpult, use the Dupont wires to attach the water sensor and the servos to their corresponding pins. In our code, we have servo1 connected to digital pin 9 and servo2 to digital pin 10, and the water sensor connected to analog pin A0.

Step 4: Implementation

Corner Your Favourite Alcoholic

Ask your favourite alcoholic to do a shot or ask them if they want to try this new drinking game. Have them sit directly in front of your very own Soberpult and tell them to pour themselves a shot into the glass. Wait for the Soberpult to launch the alcoholism right out of them!

Step 5: Reflection

With any project, the design process will inevitably encounter many challenges and issues. One of the main problems that stood out to us was the design of the Soberpult itself, as our design did not consider the fact that our machine splashes liquid around repeatedly. As such, the fact that our electrical circuit and wiring were not fully integrated into the Soberpult's body, it left the circuit exposed to the water unintentionally every time the test was run. Although the project's electronic components were not directly hit by the water when it was launched, there were a few moments when it came into contact with them due to their placement near the intended target. Additionally, our material of choice was plywood, when we should have used something less absorptive. This caused problems for us as the more tests that were run, the more our circuit had delays or lagged due to the water splashing onto the circuit, despite our efforts to cover it. Additionally, we noticed that when transporting the Soberpult, the wires would disconnect and cause glitches as well.


In the future, the primary design changes would be to fully incorporate the circuit underneath the Soberpult, as well as waterproof the exterior to prevent water exposure altogether by either using a hydrophobic material or sealing the existing one. Furthermore, soldering our wires to the breadboard would prevent them from moving or disconnecting, creating a stronger connection to the circuit.


Credits

This project was created for ARC385 Physical Computing, a course run by the University of Toronto.


Team Members

Kristi Cheong

Cass Seto

Meera Thomas