The Flip-Off: the Table With Attitude

by selinaalmadanat in Circuits > Arduino

1880 Views, 10 Favorites, 0 Comments

The Flip-Off: the Table With Attitude

WhatsApp Image 2023-03-15 at 6.41.17 PM.jpeg
WhatsApp Image 2023-03-15 at 7.18.38 PM.jpeg
The Flip-Off
useless machine

Ever wanted to place an object down on a stable surface but didn't have anywhere to put it? Well, we have the solution for you. Introducing the Flip-Off - light and portable, the flip-off will never leave you with sore arms or a drink in hand.

With legs to support it, the Flip-Off will elevate your items high above messes and important objects, keeping your drinks intact and space mess-free.

That is what you can tell your friends - in reality, the Flip-Off is the table with an attitude. If you place an object on it, it will throw it right off. When items are placed on it, the table flips 180 degrees then back, propelling all items off it.


The Flip-Off; the most reliably horrible table on the market.

Supplies

Electrical Components

1X ELEGOO UNO R3 Controller Board

2X Servo motors

4X 50 kg Load Cells/Weight Sensors

1X Bread Board

1X HX711

Wires


Materials

2X 18"x32" Plywood board 3mm thick

4X Philip screws (included in servo motor pack)

Superglue

Soldering Iron and Solder (0.8mm)


Equipment

Computer

Laser Cutter


Software

Arduino IDE

Understanding the Code

Fritzing Circuit Diagram.png

Circuit Layout

This circuit is based on a sensor-actuator relationship. Four load cells sense a change in weight on the table and cause two servo motors to rotate the tabletop from 0 degrees to 180 degrees, then back to 0. This causes all objects to slide off the table.

The servo motors are connected to the breadboard for power, and their signals are sent through the Elegoo UNO R3 Controller board. The load cells are connected in a Wheatstone Bridge configuration, which then connects to the HX711. The HX711 provides power to the load cell through the breadboard, while sending signal to the Elegoo.


Arduino Code

Attached below is the Arduino code to run the table. Upload the file onto the Arduino IDE and connect the circuit via USB cable to the Elegoo UNO R3 Controller board.

Downloads

Prepare Table and Circuit

laser cut file image.jpg
ARC385_-_USELESS_MACHINE.jpg

Assemble the circuit using the materials listed above, and the Fritzing diagram above. All the components can be found either in ELEGOO UNO R3 Starter Kit and/or on Amazon or other stores that sell circuit parts. If your wires are not long enough, you may connect several together with electrical tape. Make sure the wire is wrapped securely.

Prepare the parts for the table setup using the laser-cutting file found below. We recommend you use plywood, but any material can be cut as long as it is 3mm thick. Ensure that your servo motor can fit nicely through the holes provided - some adjustments may need to be made depending on the thickness of your servo motor.

Assemble Parts

WhatsApp Image 2023-03-15 at 3.56.14 AM.jpeg
section.jpg

First, assemble the base of the table, without the tops, followed by both legs. Use superglue to connect all wooden parts and follow the 3D model provided for guidance. Make sure to not close off any areas where wires will sit. When sticking the sides, make sure the walls are glued to the sides of the base - bordering the piece. Create the frame for the load cells, and ensure they sit snugly within them. Make sure the movement of the middle part of the load cell is not restricted by the frame.

House the Circuit

WhatsApp Image 2023-03-15 at 3.57.33 AM.jpeg
WhatsApp Image 2023-03-15 at 4.21.28 AM.jpeg

Next, place the circuit into the base part, ensuring two load cells are positioned on either side as seen in the image. Make sure to slide the USB cable through the designated slot as seen in the second image.

Position the Servos

WhatsApp Image 2023-03-15 at 3.59.44 AM.jpeg

Next, separate the servo arm from the rest of the servo. Pull the wires through the leg of the table and slot it through the whole. Position the servo into the small hole on the side and then push the servo arm back onto the rest of it. This should appear to sandwich the plywood between the servo arm and the servo box, as seen in the image. Repeat on the other side so that both servo arms are facing inwards.

Position the Legs

WhatsApp Image 2023-03-15 at 3.57.51 AM.jpeg

Next, ensure both load cells are placed beside each other at either end of the base, then position the legs on top of the load cells. Make sure each leg covers its respective two load cells so that the load from each leg is distributed evenly between both components. Once positioned properly, superglue both load cells to the inside of the base, making sure they face upwards, with the table legs coming into direct contact with the middle of the cell.

Table

WhatsApp Image 2023-03-15 at 3.58.10 AM.jpeg
WhatsApp Image 2023-03-15 at 3.58.19 AM.jpeg

Next, assemble the main box which will act as the tabletop. Then slot it into the servo arms and ensure it sits nicely. Using the small Philip screws, secure the servo arms to the box. This would be a good moment to do a test spin with the code, to ensure nothing gets caught during the rotation. It might be worth sanding down the sides to ensure that it turns smoothly.

Close It Up

WhatsApp Image 2023-03-15 at 6.11.00 PM.jpeg

Next, close up all openings and ensure that all wires and components are tucked neatly within the table. As in all previous steps, use super glue to connect all wooden parts.

Calibration

After assembling the table, it must be calibrated in order to function properly. In order to ensure that the table is flat when plugged in, the variables servo1Start and servo2Start can be adjusted. After you are happy with the tabletop and setting the variables up, plug in the table again to read the values that are printed in the Serial monitor, representing the load on the sensors. You can take this value and add to it, experimenting with how different items affect the value in order to create the threshold at which the table will flip. This value is stored in the variable threshold, which can be adjusted.

Results and Reflection

WhatsApp Image 2023-03-15 at 6.41.02 PM.jpeg
WhatsApp Image 2023-03-15 at 6.41.17 PM.jpeg

Like all projects, there were some aspects that went better than expected, and some steps that took a few tries to get right. What went better than expected was how well all the components fit together, and this is largely due to the setup of the laser-cutting file and 3D model, as careful measurements were made when constructing both files. Second, contrary to our prior opinion, balancing the tabletop with the servo motors did not prove to be an issue. This has to do with both the quality of construction of the table itself, the size and scale of the table relative to the motors, and the strength of the motors themselves.

As we were prototyping the Flip-Off, some design changes had to be made. Our original idea was to have most of the components within the flipping plane but we decided it would be much more consistent and feasible to have them below the table in a more stationary area. This way, the components wouldn't shift around and come loose - which would serve as a problem as the purpose of the Flip-Off is to provide an unstable surface.

Another difficulty that we came across is that we thought the servo motors would go from 0 to 180 with decent accuracy. It turned out that they would often rotate past 180 by about 10-20 degrees, so the translation from digital to real life was not perfect. To solve this we had to calibrate them while assembling, by setting the total rotation lower than 180 degrees by however much it took for the servo arm to lie flat horizontally.

In the future, to further improve this design, we would construct a better way to calibrate the threshold, where the sensors take measurements at the beginning to zero the scale automatically, rather than having to reconnect the Flip-Off to a computer each time to recalibrate the sensitivity of the load cells.


This project was created as part of the Physical Computing course (ARC385) at the John H. Daniels Faculty of Architecture, Landscape and Design HBA in Architectural Studies program at the University of Toronto.

Team Members: William Chen, Lester Kong, Oscar Ursic, Selina Almadanat