Coffee Monsters Physical Computing's profile

Analog Sensors and Inputs Thermometer

Analog Sensors and Inputs Thermometer
Para este proyecto se utilizó un sensor de temperatura LM35 conectado a un Arduino Uno y una pantalla visual creada con el software Processing para mostrar la temperatura en tiempo real en unidades del Sistema Internacional, es decir, grados centígrados. 

El LM35 es un sensor de temperatura analógico que proporciona una salida de voltaje proporcional a la temperatura medida y el Arduino Uno es una plataforma de hardware programable que permite leer la salida del LM35 y enviar los datos a la computadora para su procesamiento y visualización en la pantalla.


Conexión del sensor LM35 al Arduino Uno

El sensor LM35 se conecta al Arduino Uno de la siguiente manera:

- El pin VCC del sensor LM35 al pin 5V del Arduino Uno.
- El pin GND del sensor LM35 al pin GND del Arduino Uno.
- El pin de salida del sensor LM35 al pin analógico A0 del Arduino Uno.

Lectura de la temperatura

El Arduino Uno lee la salida del sensor LM35 y convierte la señal analógica en una lectura digital. La lectura digital se convierte en una temperatura en grados Celsius mediante una simple fórmula matemática. El código en el Arduino Uno envía los datos de temperatura a través del puerto serial a la computadora.

Visualización de la temperatura

El software Processing recibe los datos de temperatura a través del puerto serial y los utiliza para mostrar la temperatura en una pantalla visual. La pantalla visual es un gráfico que muestra la temperatura actual en el eje y y el tiempo en el eje x. La pantalla también incluye un indicador de temperatura máxima y mínima.​​​​​​​
Lectura de la temperatura

El Arduino Uno lee la salida del sensor LM35 y convierte la señal analógica en una lectura digital. La lectura digital se convierte en una temperatura en grados Celsius mediante una simple fórmula matemática. El código en el Arduino Uno envía los datos de temperatura a través del puerto serial a la computadora.

"int sensorPin = 0;"

Aquí se define la variable "sensorPin" y se le asigna el valor 0, lo que significa que el pin analógico A0 del Arduino Uno se utilizará para conectar el sensor de temperatura LM35.

En la función "setup()", se establece la velocidad de transmisión de datos a través del puerto serial en 9600 baudios mediante el comando "Serial.begin(9600);". Esto permitirá que el Arduino Uno envíe los datos de temperatura a la computadora a través del puerto serial.

La señal digital que el Arduino Uno lee es un número que varía de 0 a 1023, donde 0 representa 0V y 1023 representa 5V.

El sensor LM35 produce una señal de salida de 10 mV por cada grado Celsius de aumento en la temperatura. Dado que el Arduino Uno lee voltajes entre 0 y 5V, y 5V corresponde a 1024, se necesita una relación de conversión para convertir la lectura del sensor en grados Celsius. 

En este caso, la relación de conversión utilizada es de 2.048, que es la diferencia entre 1024 (el número máximo de unidades de lectura que se pueden obtener en el rango de 0-5V) y 500 (la temperatura en grados Celsius a la que el LM35 produce 2.5V de salida, que es la mitad de 5V). Entonces, para convertir la lectura analógica del LM35 en grados Celsius, se divide la lectura por 2.048, lo que proporciona la temperatura en grados Celsius.

Por lo tanto, la línea de código "float temperatureC = reading/2.048;" divide la lectura analógica del LM35 por 2.048 para obtener la temperatura en grados Celsius y la almacena en la variable "temperatureC".

Visualización de la temperatura

El software Processing recibe los datos de temperatura a través del puerto serial y los utiliza para mostrar la temperatura en una pantalla visual. La pantalla visual es un gráfico que muestra la temperatura actual. 
Una vez con el código para pasar la temperatura en Arduino y para mostrar esta en Processing, se realizaron modificaciones para que después de cierta temperatura, en este caso 25°C, el texto en pantalla pase de un color azul a rojo.
Por último se aplicó la función de interpolación lineal "lerpColor(colorA, coloB, t)" para que a medida que la temperatura leída por el sensor el color del texto cambie gradualmente  partiendo desde un color azul a rojo, entre una escala de 20°C a 30°C.  


Funcionamiento del termómetro

Cuando se enciende el proyecto, el Arduino Uno comienza a leer la temperatura del sensor LM35. La temperatura se envía a través del puerto serial a la computadora y se muestra en la pantalla visual. A medida que la temperatura cambia, la pantalla visual se actualiza en tiempo real.
Analog Sensors and Inputs Thermometer
Published:

Analog Sensors and Inputs Thermometer

Published: