• No results found

2.5 Comparative Statics

2.7.5 Comparative statics

Se dise˜na una interfaz gr´afica de usuario para el control de sensores y actuadores gen´ericos y en caso de la implementaci´on especifica del proyecto descrito en este documento, el control de un sensor de temperatura LM35 y un ventilador.

El lenguaje de programaci´on utilizado para el desarrollo de dicha interfaz es C# dada su flexibilidad para manejar el componente de comunicaci´on (UART) utilizado para enviar y recibir datos provenientes del controlador.

La interfaz gr´afica cuenta con los siguientes componentes: 1 Formulario

2 Combo Box 3 Botones

Figura 6-16: Dise˜no de la interfaz de usuario en C Sharp.

Para empezar se realiza el dise˜no del aspecto que va a tener la pantalla en primera instancia tenemos un bot´on de b´usqueda de puertos que se encargar´a de hacer una b´usqueda a los puertos seriales que detecta el ordenador en el que se despliegue la aplicaci´on; Junto al bot´on de b´usqueda de puertos se encuentra el primer combo box en el que se mostraran en forma de lista los puertos que arroje la b´usqueda y se podr´a elegir cual de los puertos se quiere usar para la conexi´on, por ejemplo: COM1, COM3, COM7 etc; Frente a este combo box se encuentra el bot´on para conectarse al puerto serial, una vez se conecta al puerto seleccionado el texto de este bot´on cambia “desconectar” y pulsando este bot´on se desconectar´a y terminar´a la conexi´on con el puerto serial escogido. Tambi´en se encuentra un segundo combo box que despliega las diferentes velocidades de transmisi´on en baudios (bits/segundo).

La interfaz gr´afica cuenta con un bot´on de encender y apagar, este bot´on se encarga de escribir en el puerto serial un dato para que el controlador escriba el comando AT en el m´odulo A6 y sea enviado un mensaje de encender o apagar. El texto de este bot´on cambia de acuerdo a un click, es decir si el texto se encuentra en “encender” y el usuario da click, inmediatamente el texto es cambiado a “apagar” de igual manera si el usuario da click de nuevo el texto regresa a ser “encender”.

A continuaci´on se explicar´a el c´odigo fuente desarrollado en la herramienta Visual Studio Community 2017:

Comenzando es necesario importar las librer´ıas necesarias para el correcto funcionamien- to de los elementos que hacen parte de la interfaz de usuario, resaltando la importancia de la libre IO.Ports que permite utilizar el puerto serial de la m´aquina que desplegar´a la aplicaci´on.

Figura 6-17: Importar Librer´ıa IO.Ports.

Posteriormente se realiza la programaci´on de una interrupci´on manejada por un objeto dele- gado que se activa cada vez que llega un dato al puerto serial configurado para la aplicaci´on. El dato que es le´ıdo por la interrupci´on se guarda en la variable strBufferIn de tipo string.

Figura 6-18: Programaci´on de interrupci´on.

Se programa el evento click del bot´on para buscar puertos; la aplicaci´on se encarga de buscar los puertos que est´an disponibles para realizar la conexi´on en la m´aquina en la cual es desplegada, a trav´es de la funci´on GetPortNames. Los puertos disponibles al momento de hacer click en el bot´on son guardados en un Combobox y de esta manera la aplicaci´on permite escoger el puerto para realizar la conexi´on. En el c´odigo se valida el n´umero de puertos encontrados y en caso de que este n´umero sea igual a cero, la aplicaci´on advertir´a que no existen puertos disponibles para la conexi´on.

Se programa el evento click del bot´on “Conectar”, la aplicaci´on configura la conexi´on con sus par´ametros tales como BaudRate, Bits, Paridad, Bits de parada, Handsahke y el nombre del puerto al cual se conectar´a la aplicaci´on que es tomado de el ComboBox de puertos. Una vez la conexi´on es exitosa el texto de este bot´on es cambiado a “desconectar” y al realizar click en el bot´on “desconectar” la aplicaci´on cierra la conexi´on al puerto y el texto del bot´on es cambiado nuevamente a “conectar”. Las excepciones son manejadas por c´odigo en un try catch que en caso de ocurrir alg´un error en el proceso se encargar´a de emitir una alerta en el aplicativo con el mensaje de error correspondiente.

Figura 6-20: Programaci´on de botones conectar y desconectar.

Se programa el evento click del bot´on “Encender”, la aplicaci´on limpia el puerto serial por medio de la funci´on DiscardOutBuffer y escribe un String en el puerto serial mediante la funci´on Write. Este String es codificado por el controlador interpret´andolo de manera correcta para proceder a enviar un mensaje y encender un ventilador remotamente. As´ı mismo el texto del bot´on cambia a “apagar”, al dar click se env´ıa un mensaje que apaga un ventilador remotamente.

Figura 6-21: Programaci´on bot´on encender.

Finalmente se programa el m´etodo DatoRecibido que se ejecuta mediante la interrupci´on, este m´etodo se encarga de leer la variable strBufferIn y de acuerdo al texto que tenga el btnEncender se muestra alerta de aumento de temperatura o regulaci´on de la temperatura. De esta manera el usuario ser´a notificado de cualquier cambio de temperatura abrupto y cuando sea regulada nuevamente.

Related documents