I'm working on a small project, where I read up-to 12 brightness values from light dependent resistors (my schematic below only shows three). The basic layout is a voltage divider per sensor, which is feed into one of the ADC channels of a teensy microcontroller.

simulate this circuit – Schematic created using CircuitLab

From the ADC I get a pretty good reading from 20-1000. I actually tried different resistor values for the voltage divider (R5) and I ended up with 47kOhms.

In some environments, I have lower light and I would like to make the voltage divider adjustable. With low light, my readings only go to 200-300.

I've tried to add a potentiometer, but this does not work. I'm not 100% sure why to be honest. Is there another way to do this? I want to have ONE adjustable potentiometer to change the voltage dividers on all channels.

• A potentiometer has three connections. The resistance between two of them is fixed. The third terminal has a variable resistance to the other terminals that changes as you turn the knob. Your diagram shows the two ends (fixed resistance) connected, and the third (variable) is not connected. So, no surprise that you can't use it to change the sensitivity.
– JRE
Commented Feb 25, 2017 at 12:47
• sorry, that was a mistake, I've edited the schematic Commented Feb 25, 2017 at 12:52

You want high dynamic range... but you don't have enough bits. Here is a hack.

Let's suppose you want to measure your LDR's resistance from 100 ohms to 1 MOhms with decent precision...

Remove the resistors, and replace them with 10nF C0G or film caps. Now...

• Set ADC pin to digital output, and output 0V.
• Wait 100µs
• Wait for a time delay T
• Acquire analog value

Now, depending on time delay T, the capacitor will have more or less time to charge through the LDR. In order to measure a much higher LDR value, simply wait longer for it to charge! This gives you easy range switching without any extra parts or pins.

Other solutions include :