Final Project Proposal – Week 12

For my original concept, I planned to build an Emotion Communicator Keyboard designed mainly for babies and people with speech difficulties. Although meaningful, I realized the idea was too simple, too targeted to a specific group, and not interactive enough for a final project. After discussing the importance of two-way interaction and creating something that pulls reactions out of the user, I shifted my approach. I wanted something that anyone (children, teenagers, and adults) would find fun, challenging, and engaging. From that brainstorming, I developed my finalized concept: Emotion Sprint, a fast-paced reflex game that uses a custom Arduino emotion keyboard and a p5.js game interface.

Emotion Sprint is an interactive reaction-based game where emojis, expressions, or short emotional prompts appear on the p5 screen, and the user must press the matching physical emotion button at the right moment. The game mixes fast visuals, timing accuracy, audio feedback, and emotional recognition. As the game progresses, objects fall faster, the reactions get more complex, and the player must instantly choose the correct emotion.

This concept is accessible, replayable, competitive, and genuinely exciting for all ages. The physical interface (Arduino keyboard) and digital interface (p5.js animations and timing) depend on each other to create a fast, tight feedback loop.

Physical Sketch

Hardware Elements

  • 10–12 buttons for the Emotion Keyboard
  • Cardboard
  • LED Pixels (feedback indicators)
  • Piezo buzzer (tone feedback)
  • Arduino Uno
  • Resistors + wiring

Arduino Design and Description

Inputs (Reading User Reactions): Arduino acts as the physical senses + physical voice of the game

  • Continuously read digital pins for button presses
  • Debounce inputs to ensure clean, precise timing
  • Detect when a player presses multiple buttons quickly

Outputs (Immediate Physical Feedback)

  • Trigger a short tone on the buzzer based on how accurate the timing was
    • Perfect → Higher pitch
    • Good → Mid pitch
    • Miss → Low “error” tone
  • Light up the LED under the pressed emotion button

Communication With P5
Arduino → p5 (Serial):

  • Sends emotion labels (ex: “happy”, “angry”, “surprised”)
  • Sends timestamps of button presses
  • Sends “double reaction” when two buttons are pressed fast
  • Sends “applause button” activation (for positive reinforcement moments)

p5 → Arduino (Serial):

  • Sends feedback signals such as:
    • “correct” → Arduino lights LED green
    • “incorrect” → LED flashes red
    • “bonus” → special buzzer melody
  • Sends timing difficulty changes (game speed up/down)

P5 Design and Description

Game Engine

  • Generates falling emojis/emotions with target timing
  • Tracks the position and movement of each object
  • Calculates accuracy of each press using timestamps
  • Adjusts game difficulty (speed increases over time)

Visual Output

  • Display falling emojis
  • Flash screen colors based on success/failure
  • Show score, multiplier, streak
  • Show special video/image/meme prompts during reaction rounds
  • End-of-game summary screen

Audio Output

  • Play digital sound effects for:
    • Correct timing
    • Misses
    • Combos
    • Bonus rounds

Communication With Arduino
p5 → Arduino:

  • Sends green/red flashing commands
  • Sends buzzer melody for bonus streak
  • Sends “new round” or “speed increase” signals

Arduino → p5:

  • Sends emotion pressed
  • Sends timestamp of press
  • Sends sequence or “combo input”
  • Sends “applause button” activation

I’ll be developing the p5 game first, focusing on the visuals, falling emojis, scoring, and special reaction rounds. Once the game mechanics are solid, I will integrate the Arduino keyboard to connect the physical inputs, buzzer, and LED feedback. As I continue working on the project, I will keep modifying and improving the system if I come up with new ideas or ways to make the gameplay more interactive and engaging. I will document all progress here on the blog, showing updates, refinements, and the evolving design of both the software and hardware components.

Leave a Reply