What I am going to build
Verplank Diagram:
Note: This has changed a little to include a menu system, instead of buttons.
The choice to use a menu is so that you can preview what sound effect you are going to play before you actually play it out. It also gives better visual feedback to the user.
Interface Sketch:
- Each page of the menu has a title, in <>, such as <FAILURE>
- The select potentiometer is used to highlight the effect to be played
- Visual cue is given by the text being displayed in INVERSE mode
- Pressing PLAY immediately plays the sound effect
- Visual cue that the song is playing is a screen that gives the name of the file.
Adding Music:
- Load mp3s into the SD card
- Edit the config.txt configuration file that sets up categories of sound effects and the order
- On startup, the config.txt file is read and the menu system is set up
Outline of Project Components
Features:
Major Technology Challenges
The main challenge is to make a useful, expandable system that can be added to without using the programmer. There is no efficient way to extract and sort filenames, because each file name is only accessible when the file is open, which means we need a buffer to store them if we need access to multiple file names.
Plan B MP3 Player
Remove the filesystem parser functionality. The names of the files in the file system are hard-coded into the program and stored in Program Memory to save space.
Project Timeline
May 13th - Collect sound effects (instantsfun.es has a bunch of good sounds)
May 15th - Begin work on software for player (try out different control schemes)
May 17th - Decide interface details (encoder or potentiometer or button)
May 18th - Field Testing
May 19th - Begin work on physical prototype
May 20th - Have everything on protoboard
May 22nd - MakerFaire
May 23rd - MakerFaire
June 2nd - Presentation Day