Speaker music selection


I was wondering if it would be possible to use arduino to select which speaker the music should play to.

I have the following. - Output audio from computer. - Speakers setup in my bedroom, living room and kitchen with physical wires connected.

I want to create a circuit using Arduino to control which speaker/s output. For instance, I might want to play the music in my living only or I want it to play it in both my living and bed room.

Just wondering if this is possible.

Thanks in advance,

Yes. Easiest way (least fidelity loss) would be to use latching relays in a switch matrix. Can you amplifier handle 2 sets of speakers at one time? If they are 8 ohm speakers, then your amp would see 4 ohms. Is it rated for that? http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=255-1900-ND You apply your stereo source signal to pins 4 & 9 http://media.digikey.com/pdf/Catalog%20Drawings/Relays/TX-PCBd-bottom1COIL.jpg, pulse of current from 1 to 12 connects pins 3/4, 10/9 pulse of current from 12 to 1 connects pins 4/5, 9/8. Pretty much use an H-Bridge circuit for that. Latching relay, so last direction commanded stays, even after power down.

So, get 6 relays. Connect your input signal to pins 4 & 9 of all six (+ & -) Connect your room speakers to pins 5 & 8, one pair to each room. Then have your arduino make the connections between 4/5 & 8/9 for the room you want on. and 3/4 & 10/9 for the rooms you want off. Make sure your amp can handle 2 or 3 sets of speakers connected together.

If not, then you need a different approach, such as connecting the relays to the inputs of an amplifier for each room. http://www.parts-express.com/pe/showdetl.cfm?Partnumber=300-383

Maybe something like this in each room as volume control http://www.parts-express.com/pe/showdetl.cfm?Partnumber=300-560

Hi CrossRoads,

Thank you for your suggestions.

Unfortuately, I'm very new to electronics. So mostly of the things you mentioned below is way over my head. I was wondering if it would be possbile to do the following.

  • Connect each sets of speaker to any Op-Amp. Which allows enough current to drive the speaker.
  • Connect each Op-Amp to the analog output.
  • Connect the output audio source to the Arduino (This I'm not sure how)
  • Have the program to switch the analog output (Acts like a output multiplexer [not sure if there's such a thing]).

btw, do you have any book recommendation for beginers to eletronics?


If you open the datasheets I linked to and drew some pictures, the concept I described would be more clear. I'd do up a quick schematic, but I can't post from my current location.

Sure, you could probably apply the pre-amplified signal to the inputs of a set of analog switches (google DG401 for example), then have the arduino select which switches get closed to your room "op-amp", altho when one pictures op-amps they usually can't drive much speaker load. An amp like LM386 would be better.

I don't know what to recommend for a book, I got my EE degree 26 years ago and have really only looked at datasheets since then, so I don't know what is good these days. Perhaps someone else will chime in. Or you can search for "book" in the forum, that question has come up before.

So see if you can get this to work to start, with amplifier speaker output going to the speakers to start.
10K for Rs, make sure at least 1 set of speakers is connected prior to turning your amplifier on.

Then, move on to LM386 or however you decide to power the speakers in the other rooms.
Maybe change the Relays to analog switches also, and switch the line-level type output from the amplifier instead.
(or your mp3 player output, or whatever you use that is not speaker level outputs).