Interactive coffee table??

Hi all,

I'm very very new to this, but am hoping to use an arduino board for a project idea. I want to set up 3 by 3 pressure pads to form a square (which may end up being a coffe table). Each pad (if that's even the right terminology!) will have a different sound attached to it, so that the user(s) can create a different musical peice each time they use it. My inspiration was from http://www.inbflat.net/ and the plan is to create a kind of 3d version of the project.

BUT .... as I mentioned, I'm very new to this so any ideas/advice would be very much appreciated! :)

(Does this sound do-able? Easy? .... Hard??)

Thank you in advance :)

K

I was laughing to myself when I read the title.
Example, you spill some coffee - the table interacts with you: “Hey fool, clean that up!” in a Mr T voice.

I’ll go back and view your inspiration now…

The Arduino itself is not capable to generate quality music directly but it can control devices that can.

Check this project for inspiration: - http://arduino.cc/forum/index.php/topic,49979.0.html

Ok, technically, that inspiration didn't help much. I guess some basic questions are in order. Do you plan to have the pads be on/off (digital), or to sense varying levels of pressure (analog)? Would each pad be 1 sensor only, or would you have different points on it (like the 4 corners, or maybe 2 corners if you press on a side, or all 4 corners if pressed in the middle)? Software-wise, having a big loop that continuously scanned all pads and started an action when sensed is pretty straightforward. Having it play multiple sounds at the same time would be trickier.

This thought just came to mind, lets say just digital to start for now: You have an external memory bank, maybe a big SRAM or EEPROM or similar that you load up with sounds from pre-recorded/edited PC files. You have a bank of DACs (or a chip with multiple DACs like Analog Devices AD5308/5318/5328 - 8 DACs, with 8, 10, 12 bits respectively). Each pass thru your loop, you read the pads. You see a pad pressed, you set a flag. After reading all the pads, you enter the playback section. If a flag was set, you read memory location 0 for that pad, send the data to a DAC. Keep track of the location. Repeat for all the pads that were pressed. Next loop thru, read the pads, maybe ignore the ones that have started flags set. (or, allow the playback to restart after some elapsed time ("Hey fool, (restart) Hey fool (restart) Hey fool, clean that up!") Get to the playback section, read the next location & send to the DAC. Could have varied length sounds, just need to coordinate where a sound starts and stops in memory. I'm not sure how fast a loop like that could run. Maybe more external hardware would be needed: For example, you have a dedicated counter addressing a parallel access SRAM (or maybe 2, for 16 bit sound), with its parallel data going out to an individual DAC. Each pass thru the loop you clock the counter to advance to the next memory location, and the same clock pulse loads the data into the DAC (rising edge clocks the counter, falling edge, using an inverter if needed, clocks the data output into the DAC) - or maybe you have a straight feed-thru DAC, like an R-2R ladder and the SRAM output feeds it directly. The DAC output goes thru a gain/filter op-amp and then all opamps go into a summing amplifier before heading off to an audio amplifier. Polyphonic, stereo, even quadraphonic output.

Higher quality sound, you'd want say 32K samples/second, 16 bit counter (64K) would get you 2 second playback. Ooh, maybe a simpler approach (tho less fun engineering-wise): Someone was just wiring switches (transistors) across the playback buttons of MP3 players. You get a bunch of them, each one plays back its file when a pad is pressed, all you need is to turn on as many transistors as you have MP3 players, and the sounds could be any length.

Endless possibilities here...

robtillaart, that's just the one I was thinking of. You got it submitted while I was typing away. I actually found (unburied) my very first MP3 player recently while looking for something else (a 32 bit uP that I still haven't located) and set it aside after having seen biocow's thread.

Nice idea for a project. I also like th inspiration of a hacking a cheap MP3 player.
Another option is using a WAV shield . http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=94&zenid=4695354a2c528a7f6ca6cf64f1fa5707

The only problem is all of your sounds have to be WAV files.
I’ve used one in a simlar manner to the hacked MP3, as a kind of doorbell to an office.

thinkingoutloud:

What I also would like in an interactive coffee table is a temp sensors that checks the temp of my coffee/tea mug. Then I can see if my coffee is too hot or too cold, the table could inform me "Your coffee is just drinkable @70C" And if my coffee gets too cold it should start a heating unit, like those USB thingies. and the table could also provide a sugar and milk dispenser and ..... :)

Sounds like you're trying to make a Nutri-Matic. XD

My MP3 player hack was pretty easy. Hardest part would be finding 9 cheap MP3 players.

Are these cheap enough?

http://www.brilliantstore.com/4g-players-os-cpa-6182.html http://www.brilliantstore.com/4g-players-os-cpa-6184.html http://www.brilliantstore.com/mp3_accessories_ivo_sound_m150_4gb.html

4GB - wow. My first one cost waaaaay more, 256MB, added a couple of cards to get to 384MB. Had to fool around a little to get to the higher memory, almost held enough music to get thru cutting the lawn (I have always ripped my CD ad converted .wav's at 256K, not 128K). In fact - here it is! Am surprised I found this. http://www.geeks.com/details.asp?invtid=EV256MPN-PB

Hi guys.

I’m so so grateful for all off your time spent replying to my post. Very inspiring.

Cheers for the lengthy second post CrossRoads - I understood the concepts you were talking about, but unfortunately I wouldn’t have a clue about putting something like this into practice (I think I’m a little out of my depth here!).

Ok, I’m going to think out loud for a moment. Do tell me to shut up if I’m talking gibberish! Would it be possible to hack a dance matt, link it to an arduino, and link that to a PC to play the sounds through? If so, could this be done in Processing? Maybe some simple ‘if’ statements? … or I have a teeny tiny bit of expereience in Max MSP. I wonder if it would work through this?

Oh, sorry, I forgot to mention the digital vs analog options. I'm not too sure to be honest (not very helpful I know!). If one of the options is much harder than the other then that will probably sway my thinking!

I just ordered one of the mp3 players that CrossRoads linked to. http://www.brilliantstore.com/4g-players-os-cpa-6184.html I'll see if I can biocow the thing when it arrives in 2-3 weeks.

"biocow the thing" - that's pretty funny, a user becoming a verb!

Which one did you order? Wonder how hard it will be to open. We have a couple of Palm Pilot Vs, the batteries died finally after numerous years. To open them, you have to use a hot air gun to soften some glue so the back can be pried off. And after doing that, it looks like the battery charger circuit has died, will not charge up a new battery, and charging the battery & then installing it, it still acts like the battery is dead. Hope what you ordered opens easier for you.