Over 100 sensors and 1 analog input without MUX

Hello,
I'll try to explain my problem as clearly as I can because I cannot find a solution.

Hardware:
Arduino Duemilanove
Over 100 photoresistors LDR (1kOhm (full light) - 1MOhm (dark)).
Rest of needed equipment except MUX.

They are all placed on area (2m^2) where light varies about +/-20%. Daylight with shadows.
A focused light should triger "event" on certain value. Lets say "analogRead > 500".
So when one of those above 100 LDRs it lit above value 500 event is triggered (led turned on whatever).

Idea is to set array with regulator resistor on read value of some 300-400 depending on light conditions, and when a laser (focused beam) is pointed at one of LDRs event is triggered.

Here are 3 ideas and some thought:
Of course there is pull-down or pull-up resistor whichever but i didn't draw it.

  1. Idea is bad because on triggered event resistance will be so big that no event would be sensed if one of those drop resistance.

  2. Idea is bad because it will be too sensitive and when one sesnsor is lit it won't make a difference because resistance is already too low (we are talking some 100 LDRs).

  3. This idea just might work on few conditions:
    Lets say diode has forward voltage of 0.65V. By diode characteristic it shouldn't conduct anything (very little i.e.) untill voltage drop is near 0.65V. So i regulate my regulator resistor to a value near 0.65V so none of diodes conduct. So in theory all 100+ LDRs are infinite resistance, no reading, but when one of LDRs in paralel is lit, voltage drop on diode spikes above 0.65V and diode starts conducting and i have "event" read on my input pin. Horay!... In theory of course.
    Is this possible?

Of course diodes are not that precise and they are logrythmic value.

What about putting Zehner diode in reverse, it has -17V breakdown voltage and its conduction is very precise, almost immediate conduction (event). Or some sort of avalanche diode that has similar and more precise effect than regular diode.

What do you think of that option with diodes, is it even possible, and if it is , how?
(of course if i have big voltage I'll watch over that and regulate it so i don't burn analog input)

Or if this is not possible at all, can you give me another idea or I must use MUX/DEMUX without question?

P.S.: This is laser tag project. Those 100+ LDRs are reciever jacket, they will receive laser light in 15cm diameter (with light difusor). I tried only one LDR, it works like a charm (poweful laser and narrow light band LDR) under any light condition with resistor as regulation for different light, I just need to use many of them to cover entire body.

and if you make --- 10 parallel --- 10 parallel --- 10 parallel --- etc ?

Partly in series, partly parallel?

Still i think that series of paralel will make pretty inprecise inputs. because enviroment light input is not homogeneous. it is just too much variables. If it were 3 series ok, 3 paralel still ok but anything more than that event can't be destinguished properly.

Thanks for trying :wink:

Don't think #3 would work ether. Option is, to make a 100 LDR + 100 resistor sensors, then combine outputs with a 100 diodes, as it show on a picture for "OR logic gate":

If there are a few analog inputs, it would make sense to "group" ldr by dark resistance/sensitivity parameters.

100 LDR + 100 resistor sensors
what is the difference between LDR and resistor sensor?

I mean ( 1 LDR + 1 resistor ) = 1 sensor. Output is the point of connection, one side goes to +5V, other to ground. Then 1 sensor x 100 = 100 sensors outputs --->> connected to diodes.

By diode characteristic it shouldn't conduct anything (very little i.e.)

But when you multiply very little by 100 it starts to become significant.

@Magician: you mean like this?

@Grumpy: Yes you are right, and on that matter, I have 6 analog inputs so i can distribute sensor grid across 6 inputs . Moreover, does anybody know what diode should be best way to try, some diode with high voltage drop and very steep voltage forward characteristic so it is more precise on/off action.

Thx people :wink:
Anybody have some other idea that can work better than this?

No, see picture attached below. Meaning of diodes is "isolate" each sensor from loading by all others sensors resistors, if one LDR is triggered, only one diode will conduct and load "seen" by LDR include only its own R? and R_SUMM. All others diodes would be in reverse - not conducting mode. Plus, diode also provides some "dead zone", 0.6V to leverage the difference in sensitiity/dark current each individual LDR-sensors.

wow, this is great solution, I would never thought of that :slight_smile: thx man.

I only studied theory so I'm pretty bad at practical application.

I'll try that. Do you have a suggestion which diode i should use for precision and high forward voltage drop?

you are welcome. As for diodes, I'd take the cheapest, low current, small glass cases, like in radioshack:

3$ for pack of 50. Probably, you can find even better price on other retailers web sites. The same with resistors, you don't need 100 variable pots, it would cost a fortune, but one as R_SUMM would allow to adjust sensitivity depends on environment lighting conditions easily,
(Zeners diodes wouldn't provide this option, they "hardware" pre-programed.)

Excellent, I understand.
Can can you give me order of magnitude for R? and R_SUMM, I assume that good electricians can predict values by heart without calculating?

If LDR is 1kOhm - 1MOhm I recon R? should be some 1k-10kOhm order of magnitude and R_SUMM some 50k-150kOhm order of magnitude (linear variable resistor).

IMHO, your assumption about right for R_SUMM, but I'd change R? value for something in the middle of LDR range, 10-100k. It would provide 10% - 90% dynamic range , instead of
50 % - 99 % with

1kOhm - 1MOhm I recon R? should be some 1k-10kOhm

Thx man.
If anybody has any other idea feel free to jump in :wink:

This was very helpful... I'll get back to you when i try it to tell you how it works

Just a tip, don't build them all before youngest them, build them up five at a time and test as you go. That way if something goes wrongnyounget an early indication and you haven't wasted as much work.