Week 12 – Finalized Idea For Final Project

My Concept:

For my final project, I’m making a physically interactive maze game where the player controls minnie mouse using two potentiometers connected to Arduino, one for moving left and right and the other for moving up and down. The goal is to guide minnie through the maze to reach mickey, but the player also has to collect little items scattered around the maze before finishing. I might add like cheese or starts. Arduino reads the knob values and sends them to p5.js, which moves minnie on the screen, checks if she hits a wall, picks up a collectible, or reaches the end. When something happens, p5 sends simple messages back to Arduino so the LED and buzzer can react, for example like blinking when she hits a wall, making a small sound when she collects something, and playing a celebration melody when she reaches mickey at the end. What will be drawn by p5 is the maze, and screens. However, I might use the internet to help me find collectibles and photos of minnie mouse and mickey mouse to use for my game, which will make the experience feel like a real disney game.

P5 Explanation:

On the p5.js side, the sketch will draw the maze, will show minnie and mickey, and handles all the movement and collision detection. It receives the potentiometer values from Arduino and maps them to minnie’s position in the game, it will also check if she hits a wall, collects an item, or reaches the end. When these events happen, p5 sends “hit,” “collect,” or “win” back to Arduino so the LED and buzzer can react to these actions. The sketch also includes a start screen, instructions, and a counter showing how many collectibles the player has picked up.

Arduino Explanation:

For this project, Arduino’s job is to read the two potentiometers using analogRead() and send those values to p5.js through serial communication so minnie’s movement updates to how the player is controlling it. Arduino also listens for messages coming back from p5.js. When p5 detects that minnie hits a wall, collects an item, or reaches mickey, it sends “hit,” “collect,” or “win,” and Arduino responds by blinking the LED or playing sounds on the buzzer. Everything is based on what we practiced in class such as, reading analog inputs, controlling outputs with digitalWrite and PWM, and sending simple serial messages back and forth.

Progress update:

Right now, I’m in the preparation stage of the project. I’ve finalized the concept and planned out how the Arduino and p5.js parts will work together. I ordered the extra materials I need, including the second potentiometer, and while I wait for them to arrive, I’m going to work on the p5.js side. My focus at the moment is sketching the maze layout, setting up the basic structure of the game, and finding the character images, and collectibles. I will also plan out my code for Arduino. Once the parts arrive, I’ll build the physical setup for the potentiometers and begin connecting everything to Arduino so I can combine the full system.

Materials to purchase:
I already have almost everything I need in my Arduino kit. The only essential item I needed to buy was a second potentiometer, since my game uses two knobs for movement. The potentiometer I found costs 30 AED.
Maze game layout (Ai generated):
(image generated by chatgpt)

Leave a Reply