When you measure at the Arduino pin with a multimeter, and you read 2.5V.
Then it is impossible that the Arduino reads 839. That's not possible, no way.
Well, Unfortunately that is very much the case.
Did you connect the grounds ?
When I was running the board and the breadboard off the two separate supplies, I did not link the grounds. I considered it, but I was worried about damaging the board. As of right now, everything is running off the arduino supply, so the rails are the same all around.
Can you try a single analogRead(), without the averaging ? Or did you connect AREF to something ?
I did, the values show up much the same, fluctuating from 838-840. AREF is clear, NC.
Do you use a breadboard ? those can have bad contacts.
I am using a couple daisy-chained solderless breadboards, and they do have numerous contacts which are worse than worthless. However, the values do not change when I connect the leads directly to the wires or pins, which leads me to think the readings are genuine.
Do you have another Arduino board to test ?
It would be nice to have a completely different Arduino board, and do a different test:
You could try with a 1N4148 diode (or two in series) and a resistor of 4k7 to 5V, and measure the forward voltage of 0.6V (or 1.2V), and convert it into temperature. I can get 3 degrees Celsius accuracy with two diodes.
By another board, do you mean another Uno chip? I actually do have a handful of spare chips. I should switch it out and try again. The test you mentioned could be informative, but unfortunately for my purposes I bought sensors that are good to +/- 0.5degC, which I need to be able to publish my results. I am hoping I can go back to using those.
I will switch out the chips when I get home and try that. Thanks for continuing to help with this issue!