0% encontró este documento útil (0 votos)
284 vistas10 páginas

Proyecto de Semaforo Arduino

El documento describe un proyecto de estudiantes para simular el funcionamiento de dos semáforos usando una placa Arduino conectada a LabVIEW. Explica cómo establecer la conexión entre ambos usando Linx y funciones como DigitalWrite, Build Array e Index Array. También detalla el código creado en LabVIEW para simular el cambio de luces del semáforo en diferentes tiempos usando estructuras case y subVIs.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
284 vistas10 páginas

Proyecto de Semaforo Arduino

El documento describe un proyecto de estudiantes para simular el funcionamiento de dos semáforos usando una placa Arduino conectada a LabVIEW. Explica cómo establecer la conexión entre ambos usando Linx y funciones como DigitalWrite, Build Array e Index Array. También detalla el código creado en LabVIEW para simular el cambio de luces del semáforo en diferentes tiempos usando estructuras case y subVIs.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

Nombre del estudiante:

Elías Iván Bovio Bonastre

Ariadna Iraní Morgado Cuevas

Nombre del trabajo: Proyecto Final

Fecha de entrega: 31 de octubre de 2021

Semestre: 5to Semestre

Carrera: Ingeniería Petróleo y Gas

Nombre del maestro: Iván Martínez Rizo


Introducción

El siguiente proyecto consiste en la simulación viva de la intersección de dos


semáforos desde el programa LabView y logrando una conexión con la placa
Arduino mediante el sistema LINX, este proyecto en particular, se nos hizo muy
interesante el poder programar un semáforo, ya que es algo que en nuestra
vida cotidiana lo vemos a diario y resolver algunas incógnitas de como funciona,
como sabe cuando cambiar, su tiempo, etc.

Objetivo:

Por parejas se realizará la programación de un semáforo mediante Linx con la


finalidad de establecer conexión con la placa Arduino. Además, logrando crear
un código desde LabVIEW, para simular el funcionamiento de la intersección de
dos semáforos mediante la placa Arduino.

Metodología:

Comenzamos abriendo un panel nuevo en LabVIEW para crear el código:


Aquí lo primero que tenemos que hacer es ir a makerhub, Linx y allí escojeremos para abrir
la comunicación, creamos un control VISA. Luego creamos un bucle, para ello, tomamos un
while loop, dentro de el, nos dirijimos a Linx, y escogemos digitalWrite ya que si queremos
prender un led, tenemos que colocar una escritura digital.
Luego agregamos un Build Array, éste lo arrastramos hacia abajo. Y a cada uno, le
agregamos una constante, que representaría los pines con los que establece conexión con
la placa de Arduino. Despues creamos una estructura case y creamos tres casos, (uno para
cada color de led).
Colocamos un array, lo arrastramos para poder asignarle tres constantes de
verdadero/falso. Para ello, añadimos un boleano verdadero, este para el canal 1, y a los dos
restantes le añadimos la constante, la cual automaticamente se establece como valor falso.
Luego conectamos el array al digitalWrite a la parte de valores, y la salida D0 lo conectamos
al array de los pines. Tambien creamos los lazos para las conexiones de apertura y cierre.
Aquí añadimos una Enum constant y la colocamos fuera del loop, y lo unimos a la estructura
case, y dando clik derecho, en propiedades, seleccionamos editar elementos, podemos
cambiar los nombres y colocamos los nombres de los colores que representan el semáforo
y se guardarían los casos.

Tambien se añadió un Index array y agregamos los leds en el panel frontal, tres conforme
el color que ocupamos, y conectamos el array al cable que va hacia la estructura case, que
a su vez está conectado a valores del digitalWrite. La otra parte a conectar sería los
elementos que se encuentran en la parte derecha del array y estos van conectados a los
leds.
Ahora tenemos la Enum constant, que esta la arrastraremos adentro de la secuencia case,
esta herramienta nos ayudaria a crear un tipo de local variable como en la caso del primer
parcial, y creamos dentro de ella, un wait, en milisegundos, aquí a consideración nuestra,
escogimos darle un retardo de 7 segundos al color rojo, al segundo caso, que es el color
amarillo, 4 segundos y el verde 10 segundos. Para cada caso se estableció una constante
true, un time y un Enum constant, como vemos en las siguientes imágenes, cuando el led
rojo esté prendido, durará 7 segundos, luego cambiará al verde, del verde cambia al
amarillo en un lapso de 10 segundos y finalmente en el amarillo dura 4 segundos, y retorna
al principio gracias al while.
Acontinuación creamos otra estructura case, con los mismos componentes, pero
cambiando la secuencia de encendido, esto con la finalidad de simular un segundo
semáforo. Después que lo tengamos, seleccionamos las estructuras case, y creamos dos
subvi, que nos ayudó a simplificar el espacio, asi como establecer la misma estructura
dentro del loop. De igual manera, acomodamos los leds en forma de semáforo en el panel
frontal, y logramos una correcta funcionabilidad.
Documentación:

Linx: Se trata de un programa que nos ayuda a establecer una conexión entre
Labview y la placa de Arduino.
Visa/ Arduino IDE: Drivers necesarios para la interconexión.
COM: Se refiere al puerto que utilizaremos para nuestra placa Arduino.
DO CHANNEL: Nos sirve para seleccionar el pin de led que utilizaremos respecto
a la placa Arduino.
SERIE PORT: Nos ayuda a seleccionar en que puerto mandar la información.
LINX Makerhub: Sirve para crear una apertura y clausura de las funciones que
establecimos para la placa Arduino.
Build Array: La función Build Array crea una matriz a partir de uno o más
elementos o matrices. La matriz de salida contiene los elementos en el mismo
orden en que están conectados al nodo (de arriba a abajo).
Index Array: La función Index Array devuelve un solo elemento o subarreglo en
un índice específico de un arreglo de cualquier tipo.
SubVI: Un VI llamado desde el diagrama de bloques de otro VI es llamado un
subVI. El diagrama de bloques incluye cables, íconos, funciones, subVIs
probables u otros objetos de LabVIEW.
SUBVI

LINX

SERIAL PORT
Conclusión:

Como se ha descrito anteriormente, aprendimos como establecer una conexión


entre la placa de Arduino y el programa Labview, miente el mecanismo Linx, el
cual se instaló y con ayuda de los drivers Visa y Arduino IDE se logró la correcta
instalación. Aparte, conocimos algunas funciones que nos ayudan a establecer
la conexión entre ambos, como los son el Do Channel, que nos ayuda a
seleccionar a que pin mandaremos la información, y la serie port, que nos
selecciona el puerto de nuestra placa. Gracias a esto se realizó con éxito la
simulación del semáforo en la placa Arduino.

También podría gustarte