Do you have nerves of steel? Can you keep your cool under pressure? Put your hand-eye coordination and focus to the test with "Don't Move Me!", an Arduino-based game designed to challenge your precision skills.
Inside a transparent box, a vibration sensor (SW-420), a red LED, a green LED, and an active buzzer are connected to an Arduino board, powered by a battery.
Here's the challenge: when the game begins, the green LED lights up, signaling your chance to showcase your steady hand. Your task? Carefully move the box from one place to another without disturbing the vibration sensor. Even the slightest shake will trigger the red LED and buzzer, letting you know the game is over. The game restarts after a few seconds.
Technical Deep-Dive
- The SW-420 Vibration Mechanics:
- Spring-Coupled Sensing: The heart of the game is the SW-420 module, which contains a small internal spring. When the sensor is stationary, the spring remains in a steady state (Open or Closed depending on the logic). Upon movement, the spring vibrates and momentarily bridges an electrical contact.
- On-Module Comparator: The sensor features an LM393 Voltage Comparator and a precision potentiometer. This allows the player to "Tune" the difficulty; rotating the potentiometer adjusts the sensitivity threshold required to ship a "HIGH" digital pulse to the Arduino.
- Audiovisual State Management:
- The "Nerve" Loop: The Arduino firmware operates in a tight loop, constantly polling the digital input pin connected to the SW-420.
- Success vs. Failure Logic:
- Stable State: The Green LED remains illuminated via a steady DC signal, indicating the "Safe Zone."
- Collision State: As soon as a vibration pulse is detected, the Arduino triggers an Instantaneous Interrupt Logic. The Green LED is extinguished, the Red LED is set to HIGH, and the Active Buzzer is energized to create a piercing 2.5kHz alarm.
- Portable Power & Mobility:
- The 9V Rail: Since the game involves moving the hardware, a tethered USB connection is impractical. The system utilizes a standard 9V battery, regulated through the Arduino’s on-board linear regulator, providing a stable 5V rail for the buzzer and sensor logic.
Engineering & Implementation
- Non-Blocking Delay Logic:
- The game uses a State Machine approach. Upon failure, the buzzer and Red LED remain active for a 3-second "Penalty Period" managed via
millis()or a timed loop. After the interval, the system resets the flags, returning to the Green "Active" state.
- The game uses a State Machine approach. Upon failure, the buzzer and Red LED remain active for a 3-second "Penalty Period" managed via
- Signal Integrity in Enclosures:
- Mounting Resonance: A critical engineering detail is how the sensor is mounted to the enclosure. Using a Transparent Acrylic Box allows for internal visibility but can also act as an acoustic resonator. The vibration sensor must be glued firmly to the chassis; any "floppiness" in the mounting would result in false-positive triggers from the sensor's own inertial mass.
- User Interface (HMI):
- The dual-LED setup provides immediate visual confirmation of the game's state. The Red LED is chosen for its high visibility, while the Active Buzzer (different from a Passive Piezo) provides a consistent volume level regardless of the frequency of the vibration, ensuring the player is always aware of their failure.
- Sensitivity Calibration:
- The project highlights the importance of environmental calibration. Before the game starts, players must calibrate the potentiometer so that the sensor doesn't trip from background noise (like a nearby refrigerator or heavy footsteps) but remains sensitive enough to catch a human hand tremor.

Conclusion
"Don't Move Me!" demonstrates how simple binary sensors can be transformed into engaging interactive experiences through the application of precise timing and robust feedback logic.