Universidad Tecnológica de Puebla TSU: Mecatrónica/ Área: Automatización PROGRAMACIÓN VISUAL
Práctica 2: “Vinculación de Visual Basic con Arduino” González Cholula Christian Mixtecatl Tlachi José Ángel
Loaiza Reyes José Ignacio
Integrantes
Profesor
5to Cuatrimestre/ Grupo C
Calificación:
Observaciones:
1
ÍNDICE OBJETIVO .............................................................................................................. 3 MARCO TEÒRICO ................................................................................................. 3 ¿Qué es el HMI?........................................................................................... 3 ¿Cuál es su función? .................................................................................. 3 Facilidades de su uso de la interfaz HOMBRE - MÁQUINA ..................... 4 VISUAL BASIC ............................................................................................. 4 INTRODUCCIÒN .................................................................................................... 5 DESARROLLO ....................................................................................................... 6 INTERFAZ............................................................................................................. 14 CONCLUSIÒN ...................................................................................................... 15 REFERENCIAS ..................................................................................................... 15
2
OBJETIVO Elaborar un programa a partir de una aplicación visual donde se utilice: Estructuras de control, objetos de programación y diagrama de flujo correspondiente todo esto con una vinculación a un controlador (ARDUINO).
MARCO TEÒRICO ¿Qué es el HMI? El Interfaz Hombre-Máquina (HMI) es el interfaz entre el proceso y los operarios; se trata básicamente de un panel de instrumentos del operario. Es la principal herramienta utilizada por operarios y supervisores de línea para coordinar y controlar procesos industriales y de fabricación. El HMI traduce variables de procesos complejos en información útil y procesable.
¿Cuál es su función? Consiste en mostrar información operativa en tiempo real y casi en tiempo real. Proporcionan gráficos de procesos visuales que aportan significado y contexto al estado del motor y de la válvula, niveles de depósitos y otros parámetros del proceso. Suministran información operativa al proceso, y permiten el controlar y la optimización al regular los objetivos de producción y de proceso. Pensando sistemáticamente, la interfaz del usuario es una de las interfaces hombre-máquina (HMI): Hombre ↔ interfaz hombre - máquina ↔ máquina. Distintas ciencias se dedican a este tema, como TI, la investigación cognitiva y la psicología. El conocimiento básico para un diseño de interfaz que le resulte fácil de utilizar al usuario se recoge en la disciplina científica de la ergonomía. Las áreas de actividad en sí son la ergonomía cognitiva, la ergonomía de sistemas y la ergonomía del software (ingeniería del uso).
I LUSTRACIÓN 1 HUMAN MACHINE I NTERFACE
3
Facilidades de su uso de la interfaz HOMBRE - MÁQUINA El éxito de un producto técnico depende de más factores aparte del precio, la fiabilidad y el ciclo de vida; también depende de factores como la capacidad de manipulación y la facilidad de uso para el usuario. Lo ideal sería que una interfaz hombre-máquina (HMI) se explicara por sí misma de forma intuitiva, sin necesidad de formación. El interruptor de la luz, a pesar de su popularidad y simplicidad, no es la interfaz de usuario ideal sino una solución intermedia entre dos objetivos contradictorios. En este caso, el interruptor debe estar situado cerca del dispositivo que se va a encender, por ejemplo, en la lámpara en sí (para que no tenga que buscarlo). O de lo contrario, debe estar cerca de la puerta (donde se encuentra normalmente) para que no tenga que buscarlo en la oscuridad. Otra interfaz popular, pero que tampoco resulta ideal, es la pantalla táctil: En este caso, puede iniciar un programa para el correo electrónico, por ejemplo, tocando la pantalla y luego recibe el correo. Sin embargo, cuando pulsa el icono, el dedo cubre el icono en sí. Esto generalmente no crea problemas, pero no es posible dibujar o escribir con precisión en la pantalla con los dedos.
VISUAL BASIC Constituye un IDE (entorno de desarrollo integrado, o, en inglés, Integrated Development Enviroment) que ha sido empaquetado como un Programa de aplicación; es decir, consiste en un editor de código (programa donde se escribe el código fuente), un depurador (programa que corrige errores en el código fuente para que pueda ser bien compilado), un compilador (programa que traduce el código fuente a lenguaje de máquina), y un constructor de interfaz gráfica o GUI (es una forma de programar en la que no es necesario escribir el código para la parte gráfica del Programa, sino que se puede hacer de forma visual). Con Visual Basic se pueden desarrollar aplicaciones para Windows más rápidamente. Los errores de Programación no se generan tan frecuentemente y, si lo hacen, son más sencillos de depurar. Además, incluye dos conceptos importantes: Un método visual de creación de aplicaciones, incluyendo formularios (Ventanas), controles y, componentes del formulario. La habilidad de asociar código directamente a cada evento de cada elemento del diseño visual. Es posible escribir aplicaciones sin usar componentes visuales, es decir escribir aplicaciones de consola.
4
I LUSTRACIÓN 2 VENTANA DE VISUAL BASIC
INTRODUCCIÒN La comunicación con la placa de ARDUINO con Visual Basic para su funcionamiento a grandes rasgos de la aplicación es el siguiente:
Se inicializa el puerto serie
I LUSTRACIÓN 3 PROGRAMA ARDUINO
5
Se diseña un formulario:
I LUSTRACIÓN 4 FORMULARIO VB
Se crea un Procedimiento que obtiene los datos
I LUSTRACIÓN 5 PROGRAMA EN VISUAL B ASIC
Se establece un tiempo de petición de datos, que en esta aplicación es seleccionable.
I LUSTRACIÓN 6 PESTAÑA DE MANIPULACIÓN DE TIEMPO
6
Cuando queremos un dato el programa(VB) manda un “10” con la sentencia“SerialPort1.Write(Chr(10))”, Arduino la recibe con el código “if (Serial.available()) …. dato = Serial.read() … if (dato==10)” y manda el valor de la entrada digital con la sentencia “Serial.println(analogRead(sensorPin))”, es un sistema de petición y concesión de datos. Para que Arduino y Visual Basic se entienda deben establecerse los mismos parámetros de comunicación.
I LUSTRACIÓN 7 VINCULACIÓN DEL PUERTO DEL ARDUINO
I LUSTRACIÓN 8 VINCULACIÓN DESDE VISUAL B ASIC
7
Esta es una aplicación que simula el funcionamiento de un polímetro digital, por supuesto, solo está operativo la lectura de voltajes en el rango de 0 a 5 voltios en corriente continua.
I LUSTRACIÓN 9 ESQUEMA E LÉCTRICO
I LUSTRACIÓN 10 E SQUEMA PRÁCTICO
8
DESARROLLO La práctica consistió en el desarrollo de una interfaz con el manejo de VISUAL BASIC y la comunicación con Arduino, el control de una secuencia de encendido de leds, simulando en un edificio el encendido de las luces de cada piso, a través de una programación desarrollada por nosotros, y con la ayuda de los conocimientos adquiridos en las clases anteriores. A continuaciòn se muestra el codigo realizado para el funcionamiento de nuestra interfàz:
CÓDIGO ESCRITO:
Option Explicit Private Sub Command1_Click () If Label1.Caption = "APAGADO" Then Label1.Caption = "ENCENDIDO" Serie. Output = "0" Else Label1.Caption = "APAGADO" Serie. Output = "1" End If End Sub Private Sub Command2_Click () If Label2.Caption = "APAGADO" Then Label2.Caption = "ENCENDIDO" Serie. Output = "2" Else Label2.Caption = "APAGADO" Serie.Output = "3" End If End Sub Private Sub Command3_Click () If Label3.Caption = "APAGADO" Then Label3.Caption = "ENCENDIDO" Serie.Output = "4"
Else Label3.Caption = "APAGADO" Serie.Output = "5" End If End Sub Private Sub Command4_Click () If Label4.Caption = "APAGADO" Then Label4.Caption = "ENCENDIDO" Serie.Output = "6" Else Label4.Caption = "APAGADO" Serie.Output = "7" End If End Sub Private Sub Command5_Click () If Label5.Caption = "APAGADO" Then Label5.Caption = "ENCENDIDO" Serie.Output = "8" Else Label5.Caption = "APAGADO" Serie.Output = "9" End If
9
End Sub Private Sub Command6_Click () If Label6.Caption = "APAGADO" Then Label6.Caption = "ENCENDIDO" Serie.Output = "A" Else Label6.Caption = "APAGADO" Serie.Output = "B" End If
Serie.Output = "E" End If If Label4.Caption = "ENCENDIDO" Then Serie.Output = "E" End If If Label3.Caption = "ENCENDIDO" Then Serie.Output = "E" End If If Label2.Caption = "ENCENDIDO" Then Serie.Output = "E" End If If Label1.Caption = "ENCENDIDO" Then Serie.Output = "E"
End Sub Private Sub Command8_Click () End End Sub Private Sub Command9_Click () If Label6.Caption = "ENCENDIDO" Then Serie.Output = "E" End If If Label5.Caption = "ENCENDIDO" Then End If End Sub Private Sub Form Load () Serie.RThreshold = 1 Serie.InputLen = 1 Serie.Settings = "9600, n, 8, 1" Serie.CommPort = 6 Serie.InBufferSize = 16 Serie.InputLen = 10 Serie.DTREnable = False Serie.PortOpen = True End Sub
10
I LUSTRACIÓN 11 I NICIO DE CÓDIGO
I LUSTRACIÓN 12 DESARROLLO
11
I LUSTRACIÓN 13 DESARROLLO
A continuación, se muestra la programación que abre las librerías y declara los puertos correspondientes para la comunicación con el Arduino para RECIBIR Y MANDAR SEÑALES.
I LUSTRACIÓN 14 DECLARACIÓN DE PUERTOS
12
I LUSTRACIÓN 15 DESARROLLO
I LUSTRACIÓN 16 FINALIZACIÓN DEL PROGRAMA EN ARDUINO
13
Como podemos notar se muestra un código extenso puesto a que para el manejo de las imágenes en el programa nos apoyamos del programa SYMBOL FACTORY que es nos permite la exportación de sus ilustraciones a VISUAL BASIC como se muestra en la ilustración 17 y a través de la programación con “verdadero” o “falso” podemos notar una simulación, pero ahora de manera práctica podemos notarla puesto a que ya tiene una comunicación con él Arduino.
I LUSTRACIÓN 17 PANEL DE CONTROL DE SYMBOL FACTORY
INTERFAZ A continuación, se muestra el resultado final de nuestra interfaz y a través de ilustraciones se trata de especificar la función que se le fue programada. Primero mostramos nuestra maqueta utilizada para la presentación de ésta práctica:
I LUSTRACIÓN 19 MAQUETA PARA LA DEMOSTRACIÓN DE LA PRÁCTICA
14
I LUSTRACIÓN 20 PANEL DE CONTROL EN VISUAL B ASIC
Nuestra interfaz consto de lo siguiente: Se compone de 6 botones los cuales mandan la señal de que los leds enciendan uno por uno y de la misma manera también se apaguen, o que sigan una secuencia de encendido, También tiene un botón que manda la instrucción de que todos los leds se apaguen, sin tener que apagar de uno en uno. De esta manera se pudo mostrar la comunicación de una manera simple con nuestro controlador (ARDUINO).
CONCLUSIÒN Al exponer todos estos temas de Programación en Visual Basic nos podemos percatar que la programación es sumamente útil en nuestra vida cotidiana, en ésta práctica pudimos controlar algo físico a través de nuestro panel de control en Visual Basic y de esta manera en las prácticas próximas será de grana ayuda.
REFERENCIAS https://www.copadata.com/es/soluciones-hmi-scada/interfaz-hombre-maquina-hmi/ https://ardubasic.wordpress.com/2013/11/04/comunicacion-con-visual-basic/
15