Skip to main content

Reto A07 Sensor de temperatura LM35D

Estos contenidos han sido elaboradas por Fernando Hernández García, Ingeniero Técnico Industrial Especialidad Electrónica, formador del profesorado y profesor del Institut Torre del Palau (Terrassa – Barcelona). Enlace de los contenidos. Licencia CC-BY-NC-ND.
Permiso


En el siguiente reto vamos a medir la temperatura de una habitación utilizando el sensor de temperatura LM35D. El LM35D tiene un rango de temperatura de 0º a 100º ℃ y una sensibilidad de 10mV/ºC.

La placa Imagina TDR STEAM dispone de este sensor LM35D y está conectado en el Pin analógico A2.

image-1654082592908.png

En el menú TDR STEAM de ArduinoBlocks hay un bloque específico para el uso de este sensor.

image-1654082612944.png

7.7.1 Lectura del valor de la temperatura

Para ello vamos a repasar el concepto de variables. Lo vimos inicialmente con la práctica del LED en la que incrementábamos y disminuíamos su brillo utilizando una variable i. En esta ocasión vamos a profundizar un poco más.

Las variables son elementos muy comunes en programación. Básicamente, crear una variable es darle un nombre a un dato o a una lectura. Por ejemplo, las mediciones de valores de temperatura las podemos guardar en una variable que se llame “Temperatura” o las del sensor de ultrasonidos en una llamada “Distancia”, etc. No es obligatorio su uso, pero nos permiten trabajar más cómodamente, además, como podemos personalizar su nombre, ayudan a clarificar el código y utilizar un lenguaje más natural.

Al trabajar con variables vamos a tener dos tipos de bloques principales:

  • El bloque en el que le damos valor a la variable:

image-1654082740800.2718M1.png

  • Y el bloque de la propia variable creada, para poder insertarla y combinarla con otros bloques:

image-1654082746959.FZUWM1.png

También podemos personalizar el nombre de la variable, de la siguiente forma:

image-1654082753591.WGWAN1.png

Una vez creada la nueva variable, podemos seleccionarla pulsando sobre el desplegable:

image-1654082766545.RSOWM1.png

Hay que tener en cuenta que las variables solo pueden estar formadas por una palabra. Si quieres incluir varias palabras, puedes usar el truco de separarlas con una barra baja “_”, como en el ejemplo, “Valor_Temperatura”.

image-1654082780941.U9WXM1.png

Ahora vamos a realizar el programa que mida la temperatura y la muestre por la consola.

image-1654082788877.V0CYM1.png

Envía el programa a la placa, conecta la Consola y comprueba la información que aparece en el terminal.

image-1654082794609.I491M1.png

Actividad de ampliación: haz un programa que muestre datos más rápido y que muestre otro texto.

7.7.2. Alarma por exceso de temperatura

Ahora vamos a hacer una alarma sonora y acústica. El programa consistirá en hacer que el led rojo y el zumbador se accionen a la vez cuando el sensor de temperatura detecte una temperatura superior a 28ºC.

Para ello vamos a utilizar las Funciones. Las funciones permiten agrupar bloques de código. Esto es útil cuando un bloque de código se repite en varias partes del programa y así evitamos escribirlo varias veces o cuando queremos dividir el código de nuestro programa en bloques funcionales para realizar un programa más entendible.

Las funciones nos permiten realizar tareas que se repiten a lo largo del programa. En el menú “Funciones” tenemos el bloque “para () hacer algo”. Lo utilizaremos para crear nuestra función como la siguiente imagen.

image-1654082817485.3FQ2M1.png

Debes escribir el nombre de ALARMA dentro de la función. Al hacer esto automáticamente en el menú “Función” aparecerá un nuevo bloque llamado ALARMA.

image-1654082831589.D8YCN1.png

image-1654082834802.OQ77M1.png

El programa final sería el siguiente: 

image-1654082851564.S92EN1.png

Actividad de ampliación: haz un programa que varíe el programa anterior para que encienda de color verde el led RGB si la temperatura inferior a los 28ºC y rojo si la temperatura es superior a los 35ºC. En el rango intermedio se indicará de color azul.