- Physical Menu Interface - LCD / Button UX - Tauheed
- App Menu Interface - Bluetooth / Android - Rishi
- Drink Dispensing - H-Bridge Control - Seth
- Audio Playback - SD Card / Speaker Driver - Rishi/Brandon
Refer to the Design Spec, these include:
- Arduino pin allocation
- Edge cases - Please add to this list!
- State machine to act as a structural guide for the code
Please use well-named camalCase variables, for example:
stateRunGame
instead of: staterungame
- Try and limit the use of global variables
- Keep functions as short as possible and easy to read
- Required for saving non-volatile data on the Arduino
- Reference
- Standard libary to help manage LCD states
- Our panel is 4x20 pixel
- Reference
- Timing library that will be primarily used for user-input timeouts
- Reference
- Not really a library, but refer to this tutorial to implement bluetooth using a serial connection
- Code filesize may be too large for the Mega
- Edgecases may not be covered in production
- Too much current drawn from the Mega