Introduction: The Processing Code
Here is the processing code that I designed and used.
To run it yourself, install Processing on your computer, download the .zip file, and run the sketch yourself. Use the in-code instructions to add your own sound files or just use mine.
If you plan to run this on a Raspberry Pi as I am planning to, make sure to install Processing and the sketch and all necessary sound files on your Pi. There are easy to follow instructions for how to do this on both Processing and Raspberry Pi's website.
Step 1: The Arduino
The Arduino reads inputs (here a simple button) and lets the Arduino know when they have been activated using the Serial Monitor function.
On your computer, upload the attached Arduino sketch to an Arduino. Attach the button to pin 2. The Arduino will then need to be plugged into your Pi by USB in order for the sketch to work.
Step 2: Cram It All in a Box!
Once I had the Processing, Arduino, and the Pi talking to each other, I plugged everything together, and crammed it all into a box.
I made the "box" out of foamcore cut using plans from http://www.makercase.com/
In hindsight, the case could have been thinner and shorter, but I wasn't sure how compact I could get the wiring and such. Version 2 will definitely be smaller, however I do like the quirkiness of the current model.
Step 3: Future Plans
My plans for the future of AlarMe include cutting down on size using shorter more compact cables and a new case. Another possibility is to build the enclosure out of semitransparent acrylic and light it from the inside, like I have seen in many entertaining Instructables. I Also would like to add a music player to play sound files other from just your alarm. Also I want to put an in application link to another Processing sketch that I am designing which will display weather information so that you can check the weather first thing when you wake up. Due to the many powerful capabilities of the Pi and Arduino and Processing, the possibilities for upgrades are literally endless!!
For now though, it gets me out of bed in the morning, and that is perfectly all right with me. :)