AtuMmm

by lamitahermez in Circuits > Arduino

71 Views, 1 Favorites, 0 Comments

AtuMmm

ARC385 AylinKhushiLamitaTalayeh+1+1
IMG_4252.jpg
IMG_4265.jpg

The ATuMM Machine is an ATM that tests your knowledge and patience but ultimately leaves you empty-handed. It asks ten questions, rewarding correct answers by slowly dispensing money—but never fully. Wrong answers cause the money to retract. As the game progresses, the questions become increasingly ridiculous, leading to an inevitable and frustrating conclusion: the money was never meant to be yours.

Supplies

Screenshot 2025-03-13 at 22.09.37.png

Physical Coding:

Type of Arduino: Arduino R3

  1. 1x Arduino Uno
  2. 1x LCD screen
  3. 1x Ultrasonic sensor (to detect presence)
  4. 2x LED lights (Red & Green)
  5. 2x Push buttons (Yes/No)
  6. 1x Servo motor (for rolling the money in or out)
  7. 1x Potentiometer (to control the contrast of the LCD)
  8. Wires & Breadboard


Model Making:

Laser cutting materials:

  1. Plywood (3mm)
  2. Clear Plexiglass (3mm)

Additional Materials:

  1. Dowels
  2. Spray paint (grey + white)

Coding the Machine

AXO FINAL.png
  1. The machine starts in an idle stage, displaying a message like "Waiting for you..." on the LCD.
  2. When the ultrasonic sensor detects a person, the machine activates and begins the process.
  3. The machine teases the player by making the cash roll out slightly from the dispenser.
  4. The LCD screen displays a Yes/No question, prompting the player to respond.
  5. The player presses a Yes/No button, but regardless of the answer, the machine determines whether it is right or wrong based on randomness.
  6. If the machine deems the answer correct: the green LED lights up and the money rolls out slightly further. The machine displays a short phrase such as “Hmm, thought so.”
  7. If the machine deems the answer incorrect: the red LED lights up and the money slides back in. The machine displays a short phrase such as “Hmm, thought so.”
  8. The process repeats for 10 questions.
  9. After the final question, all money retracts completely, and the machine resets to idle mode.

Creating Questions + Answers for the Machine

Tinker_Useless_Machine.png

Questions:

  1. Do you want free cash?
  2. Do you really need the money?
  3. Are you donating the money?
  4. Is your credit score above 300?
  5. Do you believe paying your bills on time makes you financially responsible?
  6. Are you going to be financially responsible with this money?
  7. Are you about to buy something dumb with this money?
  8. If you borrow money from a bank and never pay it back, are you the bank now?
  9. If you put your money in a blender, does it liquidity assets?
  10. If time is money, is an ATM a time machine?

Randomized Answers:

"hm..."

"thought so..."

"interesting..."

"really?"

"let's see..."

"are you sure?"

"okay then..."

"we'll see about it..."

"hmmm, intriguing..."

Testing & Adjustments

Screenshot 2025-03-13 163121.png
  1. Adjusting servo speed to create a dramatic "almost but not quite" money dispensing effect.
  2. Ensuring the sensor correctly detects a person before displaying a question.
  3. Tweaking LED response time for clear feedback.
  4. Calibrating the potentiometer to ensure the LCD text is readable in different lighting conditions.

Conclusion

ARC385 A2 Workflow diagram.jpg

The ATuMM Machine successfully frustrates users by making them believe they can win money, only to take it away at the last moment. The project worked well in detecting responses and giving visual feedback. However, fine-tuning the servo motor speed was a challenge, as making it slow enough to be suspenseful but fast enough to feel interactive required adjustments. The addition of a potentiometer also helped improve the LCD visibility, making the text clear under different lighting conditions.

What We Learned

  1. How to use an ultrasonic sensor to detect presence.
  2. How to integrate a servo motor for controlled movement, including rolling money in and out.
  3. How to structure game logic in Arduino.
  4. How to use a potentiometer to adjust the contrast of an LCD screen.
  5. How does the controlled movement get linked to the questions answered.
  6. That people get really annoyed when they think they're winning money but don’t.

What Worked Well

  1. Sensor Detection & Interaction: One of the biggest successes was the ultrasonic sensor's accuracy in detecting user presence. It reliably activated the ATM when a person approached, seamlessly starting the interaction. The LCD displayed questions instantly, making the process easier.
  2. Servo Motor Control & Money Movement: Tuning the servo motor to smoothly roll the money in and out added a dramatic effect. By keeping the motion subtle, users genuinely felt like they were "winning" money—only to have it snatched away moments later. This teasing effect was crucial in making the machine fun and frustrating.
  3. Psychological Engagement & User Reactions: The machine's short, dismissive responses ("Hmm, thought so.") added personality and humor. Users will love to hate the ATM—many will get emotionally invested to get free money, hitting buttons aggressively in the hope of eventually winning money. The unpredictability of "right" and "wrong" answers made the machine feel even more unfair, which was exactly the intended effect.

What Did Not Work Well

IMG_8566.jpg
  1. Servo Speed Calibration: Initially, the servo motor was too fast, either throwing the money out abruptly or retracting it so quickly that users didn’t even register the movement. Finding the right balance between suspense and speed required multiple iterations.
  2. LED Timing & Visibility Issues: The LED indicators sometimes turned on/off too quickly, making it hard for users to notice whether their answer was considered correct or incorrect. A small delay had to be added to ensure the red or green LED remained on long enough for users to register the feedback.
  3. LCD Contrast Issues: At first, the LCD contrast was inconsistent in different lighting conditions, making the text hard to read. Adding a potentiometer to adjust the contrast fixed this, but it was an unexpected troubleshooting challenge.