Problema la lectura analógica del LM35 cambia cuando enciendo LED [SOLUCIONADO]

Hola, ante todo un cordial saludo para todos y de antemano agradezco por la ayuda que me puedan brindar.

Soy un inexperto que recién se adentra en el mundo de la electrónica y la programación de microcontroladores gracias al proyecto Arduino. Acerca de mi problema he googleado, buscado en el foro y probado múltiples soluciones sin éxito.

Tengo una placa Arduino UNO Rev 3. a la que tengo conectado un sensor LM35 y un LED, el problema es que si está funcionando solo el Sensor me muestra una lectura correcta de la temperatura, pero en cuanto enciendo uno o varios LED la lectura de la temperatura se hace más alta según el monitor serial, pero según el multímetro el sensor sigue enviando la misma señal; por ejemplo:

Con el sensor solo:
Multimetro directo al sensor: 260mV
Monitor Serial: entre 258 y 263mV

Cuando enciendo un LED:
Multimetro directo al sensor: 260mV
Monitor Serial: entre 298 y 310mV

Muchísimas gracias, estaré atento. Espero alguien pueda ayudarme con este problema.

PD: Adjunto diagrama de conexión y código. He probado conectando varios LED y entre más cantidad conecto mayor se hace el número de mV que muestra el monitor serial. sin variar los mV que muestra el multimetro directo al sensor. Realmente el proyecto es para controlar un Aire Acondicionado, mostrando la temperatura en 2 displays de 7 segmentos, indicando por medio de dos LED si está o no en funcionamiento, en fin, muchas otras cosas más, cuando lo termine lo estaré compartiendo completo, pero al encontrarme con este problema de lectura decidí volver a empezar y así detectar con cual de todos los dispositivos se originaba, llegando así a este punto.

LM35_y_LED.ino (496 Bytes)

Prueba a ver si la salida de 5V (disponible en el conector) mantiene su valor constante durante las dos mediciones.

Muchas gracias por contestar surbyte. Disculpa mi ignorancia, pero asumiré que cuando dices disponible en el conector te refieres a la salida normal de 5V del arduino. Efectivamente las mediciones son las siguientes:

Alimentado por USB desde mi laptop:

Arduino en marcha sin ningún dispositivo conectado: entre 4.86V y 4.89V

Arduino en marcha solo con el sensor: entre 4.86V y 4.89V

Arduino en marcha con sensor y 1 LED (Verde): entre 4.81V y 4.84V

Arduino en marcha con sensor y 2 LED (Verde y Rojo): entre 4.78V y 4.81V

Alimentado por USB desde un adaptador de energía de un chromecast (5.1V 850mA):

Arduino en marcha sin ningún dispositivo conectado: entre 4.77V y 4.78V

Arduino en marcha solo con el sensor: entre 4.77V y 4.78V

Arduino en marcha con sensor y 1 LED (Verde): entre 4.71V y 4.72V

Arduino en marcha con sensor y 2 LED (Verde y Rojo): 4.62V y 4.63V

Alimentación Externa (Fuente ATX, 12V al pin Vin):

Arduino en marcha sin ningún dispositivo conectado: entre 4.95V y 4.96V

Arduino en marcha solo con el sensor: entre 4.95V y 4.96V

Arduino en marcha con sensor y 1 LED (Verde): entre 4.95V y 4.96V

Arduino en marcha con sensor y 2 LED (Verde y Rojo): 4.95V y 4.96V

Al parecer a través de la alimentación por USB cada vez que activo un nuevo dispositivo el voltaje se disminuye, pero teniendo la fuente de alimentación externa se solucionan todos los problemas de caida de tensión, y con ello también se normalizaron las lecturas del pin analógico, su variación es apenas mínima. Me atrevo a especular que este problema se presenta porque Arduino mide las analógicas teniendo como referencia 5V y al tener solo 4.62V esa medición se tiene que ver afectada. Es así como funciona?.

Muchas gracias por su ayuda. Para algunos podría ser poco, pero la pregunta que me hiciste fue clave, jamás se me hubiera ocurrido hacerme esa pregunta a mi solo.

De nuevo muchas gracias y espero que esta información le pueda servir a mas personas.

PD: Debo preocuparme porque mi Arduino no entregue exactamente 5V con la alimentación externa?
PD2: Como puedo clasificar este post como Solucionado en el Foro?

1- si deberías preocuparte porque en cuestiones analógicas el adc interno del atmega 328p-pu requiere 5v para trabajar, por eso que tuvieras variaciones en las lecturas, prueba alimentandolo con 9v para que así tu regulador te entregue los 5v. bien o con cualquier voltaje mayor a 7. Y para lo segundo, solo edita el nombre de tu post agregando [SOLUCIONADO]

Mike_117 muchas gracias por contestar. Mi pregunta es:

¿Es malo que mi Arduino entregue 4.96V cuando lo estoy alimentando externamente con 12V?

No, incluso puede ser error del multímetro.
Un saludo.

Xtrem3:
No, incluso puede ser error del multímetro.

Que estas respondiendo Xtrem3?

4.96V esta mas que perfecto.
Arduino tiene un regulador de 5V, 4.96V es un valor excelente.
Mira es 0.8% menor.

Dónde esta el error del multímetro?
El tema es que hacemos las cuentas del AD sobre la base que tenemos 5V y resuelta que eso no es cierto.
Si uno quiere mejorar las lecturas hay que usar la opción analogReference(INTERAL); y tendremos una referencia de 1.1V pero entonces todo debe ajustarse a ese valor máximo.

Aca las opciones

DEFAULT: the default analog reference of 5 volts (on 5V Arduino boards) or 3.3 volts (on 3.3V Arduino boards)
INTERNAL: an built-in reference, equal to 1.1 volts on the ATmega168 or ATmega328 and 2.56 volts on the ATmega8 (not available on the Arduino Mega)
INTERNAL1V1: a built-in 1.1V reference (Arduino Mega only)
INTERNAL2V56: a built-in 2.56V reference (Arduino Mega only)

Ese valor de 1.1 no va fluctuar con alimentación USB o externa. Siempre es 1.1V.
EXTERNAL: the voltage applied to the AREF pin (0 to 5V only) is used as the reference.