Led RGB con sensor LM35

La temperatura que me da en el monitor serial es de 0 todo el rato ¿?
Me podeis decir que he hecho mal?
Lo he repasado unas cuantas veces y no lo veo ... .-(
El LM35 (cara plana hacia mi) patilla izq a +5v la derecha a GND y la de en medio a Analog 0
el codigo es-.

const int sensor = 0; // entrada del sensor LM35
const int ledRojo = 5; // pin LED Rojo
const int ledAzul = 6; // pin LED Azul

long miliVolts;
long temperatura;

void setup() {
Serial.begin(9600); // iniciamos la comunicacion serial
}

void loop() {
miliVolts = (analogRead(sensor) + 5000L) / 1023; // Calculamos los mV en la entrada
temperatura = miliVolts / 10; // Calculamos la temperatura

Serial.print("Temperatura: ");
Serial.print(temperatura);
Serial.println(" grados");
delay(200);
}

Esto esta mal

miliVolts = (analogRead(sensor) + 5000L) / 1023;   // Calculamos los mV en la entrada

es si mal recuerdo

miliVolts = (analogRead(sensor) * 500L) / 1023;   // Calculamos los mV en la entrada

Todo el código

const int sensor = 0;   // entrada del sensor LM35
const int ledRojo = 5;  // pin LED Rojo
const int ledAzul = 6;  // pin LED Azul

float temperatura;
 
void setup() {
  Serial.begin(9600);  // iniciamos la comunicacion serial
  }

void loop() {
  temperatura = (analogRead(sensor) *500)/1023;   // Calculamos los mV en la entrada

  Serial.print("Temperatura: ");
  Serial.print(temperatura,1);
  Serial.println(" grados");
  delay(200);
}

Mira como posteo yo el código y fijate como lo hiciste tu. Lee las normas del foro y luego por favor edita tu post