Problema de lectura erronea en sensor LM35DZ

Buenos dias. Quiero saber si alguien me puede ayudar en en contrar el error con la medida de temperatura que me arroja el sensor LM35DZ. Al momento de leer me da una temperatura mas alta a la ambiental y cuando tocamos el censor para elevar la temperatura el lugar de darme un medida mas alta me da una temperatura menor. Este es mi diagrama.

boolean pin2=LOW,pin3=LOW,pin4=LOW,pin5=LOW,pin6=LOW; 
float tempC;

void setup()
{  
  mySerial.begin(9600);               // the GPRS baud rate   
  Serial.begin(9600);    // the GPRS baud rate 
  pinMode(2,INPUT);
  pinMode(3,INPUT);
  pinMode(4,INPUT);
  pinMode(5,INPUT);  
  pinMode(6,INPUT);  
  delay(1000);
}
 
void loop()
{
  tempC = analogRead(A0);
  tempC = (5.0 * tempC *100.0)/1024.0;
  Serial.print("TEMPERATURE = ");
  Serial.print(tempC);
  Serial.print("*C");
  Serial.println();  
      delay(100);          
       Send2Pachube();
   
  if (mySerial.available())
    Serial.write(mySerial.read());

Seria conveniente que adjuntases una imagen de tu conexión para darle un vistazo, prueba este ejemplo

   const int lm35 = A0;

void setup()
{

}

void loop()
{
int value = analogRead(lm35); 
float vout = 5000 * value / 1024; // milivoltios.
float temp = vout / 10; // grados centígrados.

delay(1000);
}