Concept:
This project is a Punching Bag Game that combines physical activity with digital feedback and humor. Players aim to achieve the highest punch strength and combo streak, all while enjoying dynamic visuals and memes in the P5.js interface based on their performance. A wooden control box houses an LCD, LEDs, and an arcade button, while the P5.js visuals make the game fun and engaging with score-based meme displays.
How to Play the Game:
- Start the Game:
- Press the arcade button on the wooden box to begin.
- The game resets all scores and displays “Game Start” on the LCD and P5.js interface.
- Punch During the Green Light:
- Wait for the green LED to light up and the P5.js display to say “Punch Now!”
- Punch the bag as hard as you can during this phase.
- If you punch during the red light, it won’t count, and your combo streak resets.
- Score Points:
- Your punch strength determines the points added to your score.
- Achieve combos by landing consecutive valid punches.
- Watch for Memes:
- As your score increases, P5.js will display funny memes tied to your performance
- End of Game:
- After a set time or when the player stops, the LCD and P5.js show your final score and highlight your best streak.
- Press the arcade button to restart.
Hardware Components:
- Accelerometer sensor (MPU-6050):
- Measures the strength of punches by detecting acceleration on X, Y, and Z axes.
- Attached to the back of the punching bag
- Sends punch data to the Arduino for calculation and updates.
- 16×2 LCD Display:Shows:
- Game Status: Displays “Punch Now!” or “Wait…” depending on the phase.
- LEDs:
- Green LED: Indicates when the player can punch.
- Red LED: Indicates when punching is not allowed.
- LED STRIP: showing the power of the punch for asthetics( like a fuel bar)
- Arcade Button:
- Resets and starts the game.
- Wooden Box:
- Organizes all components in a neat, arcade-style housing.
Arduino Program:
Inputs:
- Accelerometer: Detects and calculates punch strength.
- Arcade Button: Starts and resets the game.
Outputs:
- LCD Display: Shows punch strength, score, and game state.
- LEDs: Indicates when the player can punch or must wait.
- Serial Communication: Sends punch data and game updates to P5.js.
P5.js Program:
Inputs (from Arduino):
- Punch Strength:
- Dynamically fills a power bar and displays the strength numerically.
- Game State:
- Updates the screen with “Punch Now!” or “Wait…”.
- Score & Combo Streak:
- Updates the scoreboard in real-time.
Outputs (to Arduino):
- Start Signal:
- Resets the game and all scores.
- Difficulty Setting:
- Adjusts thresholds (e.g., punch strength required to score)
Visual Features:
- Scoreboard:
- Tracks current score, best score, and combo streak.
- Punch Strength Visualizer:
- Memes Based on Performance
- Aesthetic designs aracde like
Sound:
I will have sound effects playing from p5 to have on my laptop rather than on the Arduino board.
I still havent created the code due to me changing my whole concept and idea. However, I have the dimensions of the box created using Markercase. As for the setup on the Arduino Board, I did test the components ( LCD, LED etc) however, I didn’t have the sensor or LED strip with me at the time, so I have to re-do it with these included.