Controlling a grid/matrix of components.

Thread Starter

nineteenbillion

Joined Mar 2, 2012
6
Hello hello, first post after years of trolling.

I'm making a grid of 2.5" computer speakers, let's say twenty speakers wide by ten speakers long. I want to be able to send small clicks or pops to each one independently. I think it would be a lot of fun to have a a 3v supply and reed switch in line with each speaker and quickly pass a magnet over any given switch to cause a 3v "pop" in the associated speaker. This could be fine, but then I have to run 200 (plus grounding) wires to all of these damn speakers. I'm not against it, but that's a lot of dough in wires, especially if i want to separate the speakers from the "switch board." I figure there is probably some sort of matrixing solution.

I'm somewhat familiar with the very fast switching techniques used to operate an LED matrix, but I don't want very fast switching on the speakers, because it would be audible. I need to be able to make discrete "pops" on individual speakers. Ideas?

THX for your help!
 

Thread Starter

nineteenbillion

Joined Mar 2, 2012
6
Ideally, in the next room. As much as thirty, forty feet away. I want to make both the "switch board" and the "speaker field" separate objects so one doesn't distract from the other, aside from the wad of cables going between them.
 

John P

Joined Oct 14, 2008
2,026
Maybe this is a crazy project, but at least it's harmless. Here's a crazy idea on how to build it:

Wire each speaker in series with a pair of back-to-back zener diodes of (let's say) 5V breakdown voltage. Then only a signal higher than +/- 5 can create any sound in that speaker.

Take all your speaker/diode assemblies and wire them up to "row" and "column" wires. You'll have the most efficient network in terms of hardware usage if the matrix is square, with the same number of rows as columns.

Then to get a sound from any speaker, ground the row that it's connected to, and drive the column with a voltage higher than +/- 5, maybe +/- 10, but definitely less than +/- 15. Leave all other wires open-circuited. You should now hear just one speaker responding.

The problem that you would encounter if the diodes weren't there would be that the desired speaker would emit a sound, but there would be many other paths between a row and a column, so lots of other speakers (basically all of them) would be operating too. With the diodes, only one speaker can respond, because all those other paths through the matrix involve multiple (at least 3) speaker/diode combinations in series, and the voltage isn't high enough to send current through all those zeners.

It's a theory. I'd love to hear about the result.
 

Thread Starter

nineteenbillion

Joined Mar 2, 2012
6
Great idea! Love the solution. Two questions, then:

1. This would not leave me with much adjustability in terms of the "volume" of the pop, no? If I find that the voltages I've committed to are too loud for my purposes, then I'd have to replace all those diodes?

2. Imagine the square grid you described. If I activated the "top left" speaker and "bottom right" speaker at the same time, would that not also activate the top right and bottom left?
 

Thread Starter

nineteenbillion

Joined Mar 2, 2012
6
Yes, and I'm very sorry for not being clearer about that to begin with. I definitely want to be able to activate more than one at once. And location of the sound is important, so I can't just have random ones firing off far away from the one being activated.
 

crutschow

Joined Mar 14, 2008
34,431
Yes, and I'm very sorry for not being clearer about that to begin with. I definitely want to be able to activate more than one at once. And location of the sound is important, so I can't just have random ones firing off far away from the one being activated.
So how many reed switches are you going to have, 200? And how many speakers will you want to be able to activate at once?

One way to possibly do this is to scan the switches rapidly with a multiplexer and send the multiplexed signal over a few signal wires to a demultiplexer going to a latch that controls each speaker. If you multiplex at a reasonably fast rate, say >10 samples/sec for each switch then the delay from the muxing should not be noticeable.

To do this would require thirteen 16-bit multiplexers on each end and thirteen 16-bit latches on the speaker end, plus probably a transistor driver for each speaker. The signal information could be sent over 8 parallel data lines with 1 clock line. If you wanted a minimum number of wires you could use 1 serial data line, 1 sync line, and 1 clock line, but that would require some additional circuitry at the receive end.

The operation of the circuit is relatively simple. The multiplexer samples the state of each reed relay in sequence and sends a signal to the demultiplexer which sets or clears the state of each speaker latch as determined by the state of the corresponding relay.

Would that do what you want?
 

Thread Starter

nineteenbillion

Joined Mar 2, 2012
6
Yes, 200 speakers, one reed switch per speaker. Might want to be activating dozens at once.

Multiplexing sounds like a fantastic idea. So I still end up with a lot of wires on both ends, but the cables running between could be much smaller. Any links/suggestions on where I could read up on this? Just looked around a bit and found a lot of surveillance equipment, but no hardware that fit your exact description. We're stepping a bit out of my discrete component understanding of things... :rolleyes:

Thanks again!
 

crutschow

Joined Mar 14, 2008
34,431
You will likely have to build a custom circuit. If I have time I'll try to do a little work on that.

In the meantime you could look up the data-sheets for these typical devices to get an idea as to how they work and make a shot at how you think it all goes together. Here's some real homework for you. ;)

CD4067 16 channel mux for sampling the relay signals (13 required).

CD4515 1 of 16 decoder (for selecting which mux or latch is active, 1 required at relay end, two required at speaker end).

CD4520 Dual 4-Bit counter (to make an 8-bit address counter for enabling each of the 200 multiplexer channels in sequence. (1 required at relay end) (Edit: Or 2 required for minimum number of interconnect wires.)

CD4099 8-bit addressable latch for storing the muxed switch info at the speaker end (25 required).

555 timer connected as an astable multivibrator to generate the required clock signal (1 required at relay end).

As you can imagine there's a heck of a lot of wiring involved to put this all together. Glad I don't have to do the soldering.
 
Last edited:
Top