Reading multiple analog pins give wrong data.

Hello, i have an arduino and an lcd shield and I'm trying to read the values on analog pins using an NTC thermistor. The thermistor is placed between 5V and A1 and i have a 10k ohm resistance that goes to ground and the problem is that when i place the thermistor on pin A1, the value on pin A1 is around 500 which is correct but all the other pins (A2, A3, A4) are the same value but 5-10 units lower than the previous. I need all the pins to display the correct values and i don't know how, i've tried to add delay between the readings but it doesn't matter. I have linked below two pictures of the values on pins A1, A2 and A3, with and without the thermistor connected and if anyone can help i would appreciate it a lot.

With: https://imgur.com/LmCxLYH Without: https://imgur.com/mySSwNs

Thank you.

The value when reading an unconnected analog pin is meaningless as the pin is floating.

That is correct, the point is that when the ntc sensor is connected to A1, the rest of them (A2, A3) should be around 900 like it is when there's nothing connected, otherwise when i connect an NTC sensor and calculate the temperature on A1, the rest of them will have lower temperature despite nothing being connected.

An analog pin that is not connected can be anything. The analogRead() can return any value from 0 up to 1023. The input has a very high impedance. Moving your hand near such a pin might change the value.

NTC sensors normally come as resistor divider - usually configured with a pull-up resistor.

As long as you leave those pull-up resistors in place, only disconnect the NTC, you will get a reading of 1023 when there's no NTC connected.

I have a rezistor divider but it’s between analog pin 1 and ground which makes it a pull-down, i assume, so i tried with a second ntc and a pull-up which seems to work but not really, because the value goes down and using Steinhart-Hart equation would reverse the temperature readings.

The goal is to have up to 5 NTC thermistors and measure 5 different temperatures but i can’t find anywhere some reliable information and schematic to show how to do so. So if anyone knows how to do it i would appreciate it.

Thank you.

OK just read your original post again and have the feeling it's all working perfectly correct:

EnergyCore: The thermistor is placed between 5V and A1 and i have a 10k ohm resistance that goes to ground and the problem is that when i place the thermistor on pin A1, the value on pin A1 is around 500 which is correct but all the other pins (A2, A3, A4) are the same value but 5-10 units lower than the previous.

The Arduino has only ONE ADC, which is multiplexed. An ADC contains a small capacitor. When you read A1 the ADC connects to pin A1, the cap charges to the pin's voltage, and the value is read. Then you read A2, the ADC connects to pin A2 (which is not connected), the cap voltage doesn't change really (a little parasitics of the pin itself), and you get about the same reading.

So that's that.

EnergyCore: I have a rezistor divider but it's between analog pin 1 and ground which makes it a pull-down, i assume, so i tried with a second ntc and a pull-up which seems to work but not really, because the value goes down and using Steinhart-Hart equation would reverse the temperature readings.

Normally NTCs are wired between GND and the pin, and a resistor between pin and Vcc. So if your temperature goes the wrong way, maybe you have to switch them?

The goal is to have up to 5 NTC thermistors and measure 5 different temperatures but i can't find anywhere some reliable information and schematic to show how to do so. So if anyone knows how to do it i would appreciate it.

You know how to connect one. Connect four more the same way. Done. There's really nothing more to it. A thousand thermistors, OK now it's getting interesting.