In order to set a 2V reference voltage for the ADC on an Arduino, I believe can use a simple voltage divider setup between the 0V and 5V lines with resistors in the ratio of 2:3. Does it matter what values of resistors I use? If so, why?
A very comprehensive details of analog input pins of ADC on Arduino is shared here:
Input impedance of Arduino Uno analog pins?
If the 2:3 resistance combination is used between 5V and Find you would get 2 V across the lower value resistor.
If one of the resistor is 2 ohms and the other is 3 ohms, 3 V would still appear but the current through them would be 1A, which is waste of energy. The resistors will also get fried as they will be dissipating I * V which will be 2W and 3W respectively.
The resistances can also be in MegaOhm range. Then the current is negligible, to be precise, if the resistors are 20Mega and 30Mega ohm, then the current will be 100 nA. Ideally the voltage across the resistor will be 2 V still.
But the issue with the latter case is that the ADC input pins are not infinte input impedance pins. They also act as a load in Mega ohm range. A 1uA of leakage current into the ADC pin is not abnormal at all. What happens is that the effective voltage gets reduces drastically because the current is following another path too through ADC.
Hence, for a simple setup, resistance in 10s of kilo ohms would balance both power consumption and inaccuracy. There is also option of using opamp as voltage follower whose input impedance is far higher than the input impedance of ADC REF pin.
It all depends on the accuracy needed and speed of conversion too. Specific datasheets also mention the connection circuitry in case the system driving the ADC inputs are not of lower impedance ones.