First Arduino Project: Switch Activated Random Music Player

Hello Arduino community,

This is my first project, and I am hoping to get a good amount of help. This project is similar to some other ones I have found on here, for the most part. The idea is to have a proximity door switch (such as for a burglary system), which, when activated, will cause a random song to play, and then continue playing through all the songs until a stop button is pressed or something. It seems pretty easy to do, but I think this part is the part to make it annoying to do: I'd like to do it off of USB thumbdrives. The ones I have seen use gutted MP3 players to do this function, but I would like to be able to put different genres or playlists on thumbdrives, then exchange them to change the type of music for the day (I feel like this is the most user-friendly option). I plan to stick this all into a nice inconspicuous box, with perhaps a hinged lid, which would have LEDs moving to the music on the underside or something (which seems to be a pretty heavily covered topic).

Like I said, I have pretty much no experience with any of this, and I hardly even know where to begin... So far, I was thinking the Arduino Uno R3, With an audio shield (like the Codec Shield from Open Music Labs, if that will do what I think it will do). I would love any and all suggestions and appreciate all the help I can get. Thanks in advance!

I'd like to do it off of USB thumbdrives.

I don't think I've seen anyone make USB mass storage devices work on an Arduino. SD cards, on the other hand, are relatively easy to use.

Not audio, but for data logging..

Neat. Hadn't seen that.

I think the SD card idea will be much less of a headache in the long run. Thanks for the suggestion; I hadn't really considered those. I did a little looking and found Audio Shield for Arduino for an audio shield, which conveniently includes the SD Card reader, albeit in an annoying location. It looks like it pretty much absorbs the whole arduino, without leaving any open pins for anything else though

There are a number of pins left:

http://www.ladyada.net/make/waveshield/faq.html

What pins are used by the shield?

Pins 13, 12, 11 are always used by the SD card (they are the only pins that have a high speed SPI interface). Then there are 5 other pins used to talk to the DAC and SD card, but they can be set to connect to any arduino pin. However, by default, the library is configured to use pins 10 (for SD card) and pins 2, 3, 4 and 5 for the DAC. To chanage these pins requires modifying the library - the pins are referenced by their 'hardware' pin names (ie PORTD, etc) not by arduino pins.

That means pins 6, 7, 8, 9 and the 6 analog in pins (also known as digital i/o pins 14-20) are available

Hah, right silly me. Thanks for that clarification :blush:

Check out a project I did last year using the same shield. Not exactly the same, but might give you some ideas.Sheep Doorbell | Electric Projects