The Learning Factory Vending Machine has been updated to make it robust, user-friendly, and fun to interact with.

Sponsored by: Learning Factory 1
Team Members
Ethan Cappelletti Daniel McEvoy Benjamin Parde Emma Workman Jacob Hopkins Ryan Bedell
Instructor(s): Kyusun Choi
Project Poster
Click on any image to enlarge.
Project Video
Project Summary
Overview
The sponsor presented the team with the current version of the Learning Factory’s vending machine, which had numerous problems. The current code for the vending machine had many bugs that ranged from minor visual errors on the vending machine’s touchscreen, to crashing the entire system. The vending machine also required users to enter the item they wanted to vend twice, which
confused users and lead to failed vends. All in all, the sponsor wanted the group to make the vending machine more robust, increase its usability, and make the overall machine more aesthetically pleasing.
Objectives
The team’s objective was to evaluate the current state of the vending machine, fix all of the bugs inside the vending machine’s code to increase its robustness, remove the vending machine’s keypad to increase usability, and make the machine look aesthetically pleasing.
Approach
• Looked through previous year’s documentation and talked with sponsor to understand the vending machine’s current state.
• Apportioned work based on each team member’s strengths.
• Redesigned touchscreen’s Python code from global variables and functions to classes and state machine like flow.
• Replaced hard coded items with pulling items from COE server.
• Added a ‘maintenance mode’ that allows for testing by certain users without access to vending machine’s code.
• Replaced swipe card reader with a tap card reader
• Replaced vending machine’s keypad with circuit that spoofs keypad’s output.
• Redesigned housing of parts and front panel of vending machine to account for removal of vending machine’s keypad.
• Added LED lights and functionality to play sound effects on each vend.
Outcomes
• The vending machine no longer crashes, so constant monitoring and maintenance can cease.
• The vending machine is much more user friendly, reducing the chance of user’s failing use the machine.
• Managing the vending machine’s inventory requires less steps and is simpler than before
• The vending machine looks more appealing, which will increase usage and drive more students to use the Learning Factory.



