PROGRAMACIÓN DE UN CONTROL DE TEMPERATURA - Guia Docente
PROGRAMACIÓN DE UN CONTROL DE TEMPERATURA - Guia Docente
PROGRAMACIÓN DE UN CONTROL DE TEMPERATURA - Guia Docente
Guía de
laboratorio
TECNOLOGÍA
Objetivos:
Comprender la importancia
de los microcontroladores y
PROGRAMACIÓN DE UN la programación en un
lenguaje estructurado a
CONTROL DE objetos para el desarrollo de
aplicaciones prácticas como
TEMPERATURA solución a problemas
cotidianos.
Contenidos:
Introducción y arquitectura
de los microcontroladores,
programación de
microcontroladores.
EQUIPOS DE LA SIMULACIÓN
SECUENCIA DE REALIZACIÓN
5. Preguntas complementarias:
Fig. 10
Haga clic sobre el icono del cuaderno de
notas y de respuesta a las preguntas
complementarias que allí a parecen (Figura
11).
Use los botones de flecha para
navegar en las páginas.
Haga clic en los botones , que
aparecen en la parte inferior, si desea
adicionar una nueva página o en si desea
eliminarla.
Fig. 11
DESARROLLO DE LABORATORIO
Situación propuesta:
Nota: La solución a la situación que será presentada a continuación, es una de las posibles soluciones, ya
que, a nivel de programación, el usuario puede configurar el código en el microcontrolador de acuerdo a su
destreza para la programación. Tenga en cuenta que, para superar el reto, es estrictamente necesario usar
los puertos definidos en el procedimiento de la situación.
Para iniciar con el desarrollo de la práctica se realiza un análisis del uso de los puertos y su respectiva
configuración, para así estructurar el código de programación que permita dar solución al reto:
Salidas digitales:
Los puertos PORTB0, PORTB1 y PORTB2, corresponden a los tres ventiladores para el control de
temperatura, los cuales se representarán mediante la luz del led correspondiente a cada bit del puerto.
Estructura del código de programación: a continuación, se mencionan los parámetros y una posible
estructura que debe tener el programa para superar el reto propuesto.
Declaración de los puertos: en primer lugar, se debe configurar los puertos del microcontrolador, esto se
realizará mediante el bloque “Port direction”, en el cual se configurará el puerto C0 como entrada analógica
(1), y los puestos B0, B1 y B2 como salidas digitales (0).
Variable de temperatura: se hará uso de una variable de tipo entero (bloque “var”), donde se almacenará el
valor ADC leído en el puerto analógico (PORTC0); a la cual se le asignará el nombre de “Temperatura”.
Ciclo infinito: después de la configuración de los puertos, hay que entender que el puerto analógico debe
realizar constantemente la lectura del valor de la temperatura entregado por el sensor, por lo que es necesario
el uso de algún bloque de programación que permita la ejecución del código repetidas veces, donde se
requiere del uso de un ciclo “infinito”, el cual corresponde al bloque del ciclo “While” con un parámetro de
ejecución siempre en “True”.
Lectura de la temperatura: en primer lugar, se debe realizar la lectura del sensor de temperatura y
almacenarlo en la variable “Temperatura”; para esto, se usa el bloque “var” en el cual se selecciona la variable
y como parámetro de entrada o valor a almacenar, se usa el bloque “Read ADC”, el cual permite leer el valor
ADC de la medida realizada por el sensor de temperatura.
Se debe tener en cuenta que el bloque “Read ADC” debe ser configurado con el puerto en el cual realizará la
lectura, por lo que se configura en “C0”.
Verificación de configuración: para continuar con la estructuración del código, es necesario determinar los
valores ADC correspondientes a los valores de temperatura de los 40, 50 y 60 °C solicitados en la situación;
para esto, se compila el código que está implementado hasta este punto y se procede a verificar dichos
valores en la interfaz de entradas y salidas, como se muestra a continuación.
De las medias anteriores, se determinan los valores ADC para las temperaturas indicadas en la situación;
dichos valores son:
Con estos parámetros se construyen los condicionales que permiten cumplir lo anterior, por tanto, los bloques
de programación son:
El primer condicional corresponde a las temperaturas entre 40 °C y 50 °C, y enciende el primer ventilador
(PORTB0 – 0b1); el segundo condicional corresponde a las temperaturas entre 50 °C y 60 °C, y enciende dos
de los ventiladores (PORTB0, PORTB1 – 0b11); el tercer condicional corresponde a la temperatura mayor o
igual a los 60 °C, y enciende los tres ventiladores (PORTB0, PORTB1, PORTB2 – 0b111) y por último, el caso
por defecto corresponde a las temperaturas menores a 40 °C, en las que no se enciende ningún ventilador, en
este caso por defecto no es necesario usar una condición, ya que todos los casos están incluidos, por lo que
si no se cumplen ninguno de los casos significa que está por debajo de los rangos establecidos.
Con estos condicionales queda completado el código de programación que permite resolver la situación, en el
que se procede a verificar su funcionamiento.
CÓDIGO DE PROGRAMACIÓN
Después del análisis anterior, el código para la implementación de la alarma queda de la siguiente manera:
Es importante tener en cuenta que el código presentado en esta guía puede ser diferente según la lógica
implementada por el estudiante, por lo cual la validación de la situación se hace sobre las condiciones
establecidas en la situación y no sobre el código directamente; por lo que se requiere que el estudiante
realice pruebas sobre cada uno de los parámetros solicitados en la situación.
En el indicador de temperatura se puede observar las temperaturas de prueba que se realizaron, donde, por
medio de la ventana de estados I/O, se puede observar el comportamiento de los ventiladores, donde el led
de color verde encendido significa el funcionamiento del ventilador, o también puede observarse de manera
directa sobre los Leds de la placa del microcontrolador.
PREGUNTAS COMPLEMENTARIAS
A continuación, se muestran las respuestas esperadas a las preguntas complementarias que se deben
registrar en el cuaderno de notas.
1. Explique dos aplicaciones en las que se podría usar un control de temperatura similar al solicitado en
el laboratorio.
R// Se puede usar controles de temperaturas para los hornos de fundición y para incubadoras, donde
se requiere la lectura de las temperaturas y el control de estas.
3. Si se quisiera tomar otra temperatura en el otro extremo de la cámara de secado ¿qué pin del
microcontrolador usaría? Argumente su respuesta.
R// Se puede usar el PORTC1 ya que se puede apreciar en la ventana de estados I/O que
corresponde a un puerto con conversor ADC, por lo que se puede implementar un sensor en dicho
puerto.
3. ¿Cuántos sensores de temperatura, como el usado en el simulador, podrían ser conectados a este
microcontrolador?
a. 4 (respuesta correcta)
b. 2
c. 1
d. Ninguno.