Ancient Egypt

Model 1: Balance

Purpose

The purpose of the scale gag is to act as a progress bar. Upon entering the room, players see an unbalanced scale (with the heart on one plate weighing more than the feather on the other plate). As players carry out the appropriate actions, they will see that the heart is becoming lighter in weight. The game is won once the heart weighs less than the feather (as in Ancient Egypt this signified the heart of a pure, sin-less soul).

What I wanted to test

I wanted to test how noticeable each incremental rotation would be. If players touch the correct hieroglyphs but don’t see noticeable progress, then they may not associate the correct action with the positive result. Though if this were the case, perhaps a happy sound could play to further emphasize the feedback. I also wanted to test how feasible it would be to write the code, as I have a MechE background and haven’t touched Arduino for a few years.

What I learned during building

Initially I was going to use all foam core for the entire balance, but then realized that it might not be strong enough to support the stepper motor’s weight. So I changed the frame material to wood. I was surprised by how easy it was to saw into pieces. I was going to use wood screws to hold the wooden frame together, but then I ended up using the hot glue gun as it was safer, given I was building this with an injured finger.

Initially, I had 2 strings holding the plates on the scale since that it what is depicted in ancient Egyptian wall paintings. Then I realized I needed 3 strings for the plates, otherwise the plates would become unbalanced and rotate. I forgot that the wall paintings were in 2d yet I am building in 3d. I was also able to secure the string into the foam core by creating a slit with an X-acto knife, instead of cutting a circular hole like I was originally planning.

Originally, I thought I would need a stepper motor. But then I learned that a servo motor would be better suited for my application as it can control angular position, has a high efficiency, doesn’t vibrate, or experience resonance issues. Plus, the servo motor I found was lighter in weight and was more easily attached to the wooden frame.

I got a chance to color the scale in the proper colors (black and gold). What I will need to do for the refinement stage if this gag passes, is to wrap rope around the ends as that is how it is depicted in Egyptian wall paintings.

I made this gag a scaled down version of the actual scale, as it needs to be big enough to be seen by the players from any point in the room. Or it may remain the same size, this way, one player can monitor the progress while the other players carry out the actions. This is yet to be decided.

What I learned with electronics

A few years ago, I was in a mechatronics class and I remember using an online Arduino simulator to test code before implementing it physically. So I went to the website - Tinkercad - typed in my username, clicked the “Forgot Your Password?” button, and dusted off my Arduino skills.

I tested simple code first and gradually built up the complexity of the code to make for easy troubleshooting. First, I wanted to press a button. Then, I wanted to have that button press rotate a servo motor. Then, I wanted to have a button press rotate a servo motor to a certain position. But when this happened, the servo would go back to its initial position upon release of the button. What I wanted was for the servo to stay in that position even after I let go of the button. Once I figured that out, I wanted the next time a button is pressed, for the servo to rotate an additional “X” degrees from its current position and stay there. Then I wanted three buttons pressed at the same time to rotate a servo motor by a certain additional amount and stay there. The code did take some time to figure out, but at least it does what I want it to do, so from a feasibility perspective, it is achievable.

Now that I got it working virtually, it was time to physically wire the Arduino. I obtained an Arduino Uno, a bread board, some buttons, resistors, and jumper wires. I followed the schematic from the online simulator to wire it appropriately. This in and of itself took some troubleshooting as there were resistors connected to the wrong hole, etc. I tested the code to rotate the scale arm by 5, 10, 24, and 48 degrees. The current code is set to move the scale arm by 48 degrees, as this seemed like a good amount. The code is set to travel through 60 degrees, and it takes 6 correct presses to get there.





Here is a video of me pressing one button (couldn't do all 3 as I had to use other hand to hold camera phone).