Вы находитесь на странице: 1из 23

DEPARTAMENTO DE CIENCIAS DE LA ENERGÍA Y

MECÁNICA

CARRERA DE INGENIERÍA MECATRÓNICA

INSTRUMENTACIÓN MECATRÓNICA
LABORATORIO

INTEGRANTE:
JERINTHON SANTILLÁN

NRC: 5587

TEMA:
ARDUINO: ENTRADAS Y SALIDAS DIGITALES
ING. DAVID CESAR LOZA MATOVELLE

SANGOLQUÍ, 4 DE JULIO DEL 2020


1
CONTENIDO
TEMA ...................................................................................................................................................................... 4
OBJETIVOS ............................................................................................................................................................. 4
MARCO TEÓRICO.................................................................................................................................................. 4
Introducción ......................................................................................................................................................... 4
Entradas digitales.................................................................................................................................................. 5
Salidas digitales .................................................................................................................................................... 5
Entradas y salidas digitales con Arduino ............................................................................................................... 6
Características ...................................................................................................................................................... 6
Funciones ............................................................................................................................................................. 6
Función pinMode(pin, mode) ........................................................................................................................... 6
Función digitalRead(pin) .................................................................................................................................. 6
Función digitalWrite(pin, value) ....................................................................................................................... 6
Función analogRead(pin) .................................................................................................................................. 7
Función analogWrite(pin, value)....................................................................................................................... 7
Instrumentación virtual ......................................................................................................................................... 7
Arduino + LabVIEW ............................................................................................................................................ 7
DESARROLLO DE LA PRÁCTICA ........................................................................................................................ 8
Materiales y recursos utilizados ............................................................................................................................ 8
Software ........................................................................................................................................................... 8
Hardware .......................................................................................................................................................... 9
Entrada digital ...................................................................................................................................................... 9
Simulación en Proteus ...................................................................................................................................... 9
Programación en LabVIEW.............................................................................................................................10
Programación en Arduino ................................................................................................................................11
Salida digital........................................................................................................................................................13
Simulación en Proteus .....................................................................................................................................13
Programación en LabVIEW.............................................................................................................................14
Programación en Arduino ................................................................................................................................15
SIMULACIÓN ........................................................................................................................................................16
Entrada digital .....................................................................................................................................................16
Salida digital........................................................................................................................................................17
IMPLEMENTACIÓN CON ARDUINO ..................................................................................................................19
Entrada digital .....................................................................................................................................................19
Salida digital........................................................................................................................................................21
CONCLUSIONES..................................................................................................................................................23
RECOMENDACIONES ........................................................................................................................................23
BIBLIOGRAFÍA .....................................................................................................................................................23

2
ÍNDICE DE ILUSTRACIONES
Ilustración 1-Tipos de entradas y salidas ......................................................................................................5
Ilustración 2-Montaje físico de un isntrumento virutal .................................................................................8
Ilustración 3-LabVIEW como utilizado como instrumento virtual ...............................................................8
Ilustración 4-Esquema para la entrada virutal en PROTEUS .......................................................................9
Ilustración 5-Seleccionar ubicación del binario compilado de arduino ......................................................10
Ilustración 6-Seleccionar ubicación del binario compilado de Arduino .....................................................10
Ilustración 7-Diagrama de bloques para la entrada digital ..........................................................................11
Ilustración 8-Panel frontal de la entrada digital ..........................................................................................11
Ilustración 9-Programa utilizado para entrada digital .................................................................................12
Ilustración 10-Consideraciones para la exportación del archivo de binarios compilados ...........................12
Ilustración 11-Consideraciones para subir el programa Arduino de entradas digitales ...............................13
Ilustración 12-Esquema para la salida virtual en PROTEUS ......................................................................13
Ilustración 13-Diagrama de bloques para la salida digital ..........................................................................14
Ilustración 14-Panel frontal de la salida digital ..........................................................................................14
Ilustración 15-Programa utilizado para salida digital .................................................................................15
Ilustración 16-Consideraciones para subir el programa Arduino de salida digital ......................................15
Ilustración 17-Simulación de entrada digital, con botón presionado. .........................................................16
Ilustración 18-Simulación con entrada digital, con botón sin presionar. ....................................................17
Ilustración 19-Simulación de salida digital, con LED indicador encendido. ..............................................18
Ilustración 20-Simulación de salida digital, con LED indicador apagado. .................................................18
Ilustración 21-Implementación de entrada digital, con botón presionado. ..................................................19
Ilustración 22-Implementación con entrada digital, con botón sin presionar. .............................................20
Ilustración 23-Simulación de salida digital, con LED indicador encendido. ..............................................21
Ilustración 24--Simulación de salida digital, con LED indicador apagado. ................................................22

3
TEMA
Entradas y Salidas digitales con Arduino

OBJETIVOS
Principal
• Implementar el uso de entradas y salidas digitales mediante el uso de Arduino
como receptor y emisor de señal, y LabVIEW como instrumento virtual.

Específicos
• Simular y comprobar el funcionamiento de una entrada digital real mediante un
pulsador, hacia una salida virtual en un LED de LabVIEW.
• Simular y comprobar el funcionamiento de una entrada virtual con un pulsador
generado por LabVIEW, hacia una salida digital real mediante un diodo LED.

MARCO TEÓRICO
Introducción
La sección de entradas mediante el interfaz, adapta y codifica de forma comprensible para
la CPU las señales procedentes de los dispositivos de entrada o captadores.
Hay dos tipos de entradas:

• Entradas digitales.
• Entradas analógicas.

La sección de salida también mediante interfaz trabaja de forma inversa a las entradas, es
decir, decodifica las señales procedentes de la CPU, y las amplifica y manda con ellas los
dispositivos de salida o actuadores como lámparas, relés... aquí también existen unos interfaces
de adaptación a las salidas de protección de circuitos internos. (Autómatas programables, 2012)
Hay dos tipos de salidas:

• Salidas digitales.
• Salidas analógicas.

4
Ilustración 1-Tipos de entradas y salidas

Entradas digitales
Los módulos de entrada digitales permiten conectar al autómata captadores de tipo todo o
nada como finales de carrera pulsadores...
Los módulos de entrada digitales trabajan con señales de tensión, por ejemplo, cuando por
una vía llegan 24 voltios se interpreta como un "1" y cuando llegan cero voltios se interpreta
como un "0". (Autómatas programables, 2012)
El proceso de adquisición de la señal digital consta de varias etapas.

• Protección contra sobretensiones.


• Filtrado.
• Puestas en forma de la onda.
• Aislamiento galvánico o por optoacoplador.

Salidas digitales
Un módulo de salida digital permite al autómata programable actuar sobre los preactuadores
y actuadores que admitan ordenes de tipo todo o nada.
El valor binario de las salidas digitales se convierte en la apertura o cierre de un relé interno
del autómata en el caso de módulos de salidas a relé.
En los módulos estáticos (bornero), los elementos que conmutan son los componentes
electrónicos como transistores o triacs, y en los módulos electromecánicos son contactos de relés
internos al módulo.
Los módulos de salidas estáticos al suministrar tensión, solo pueden actuar sobre elementos
que trabajan todos a la misma tensión, en cambio los módulos de salida electromecánicos, al ser
libres de tensión, pueden actuar sobre elementos que trabajen a tensiones distintas. (Autómatas
programables, 2012)
El proceso de envío de la señal digital consta de varias etapas:

• Puesta en forma.
• Aislamiento.
• Circuito de mando (relé interno).
5
• Tratamiento cortocircuitos.

Entradas y salidas digitales con Arduino


Una señal digital es un tipo de señal generada por algún tipo de fenómeno
electromagnético en que cada signo que codifica el contenido de la misma puede ser analizado en
término de algunas magnitudes que representan valores discretos, en lugar de valores dentro de
un cierto rango. Por ejemplo, el interruptor de la luz sólo puede tomar dos valores o estados:
abierto o cerrado, o la misma lámpara: encendida o apagada.
Los sistemas digitales, como por ejemplo un microcontrolador, usan la lógica de dos
estados representados por dos niveles de tensión eléctrica, uno alto, H y otro bajo, L (de High y
Low, respectivamente, en inglés). Por abstracción, dichos estados se sustituyen por ceros y unos,
lo que facilita la aplicación de la lógica y la aritmética binaria. Si el nivel alto se representa por 1
y el bajo por 0, se habla de lógica positiva y en caso contrario de lógica negativa. (Pinkback,
2017)
Características
• Su tensión de alimentación característica se halla comprendida entre los 4,75V y los
5,25V. Normalmente TTL trabaja con 5V.
• Los niveles lógicos vienen definidos por el rango de tensión comprendida entre 0,0V y
0,8V para el estado L (bajo) y los 2,4V y Vcc para el estado H (alto).
• La velocidad de transmisión entre los estados lógicos es su mejor base, si bien esta
característica le hace aumentar su consumo siendo su mayor enemigo. Motivo por el cual
han aparecido diferentes versiones de TTL como FAST, LS, S, etc y últimamente los
CMOS: HC, HCT y HCTLS. En algunos casos puede alcanzar poco más de los 250 MHz.
• Las señales de salida TTL se degradan rápidamente si no se transmiten a través de
circuitos adicionales de transmisión (no pueden viajar más de 2 m por cable sin graves
pérdidas).
Funciones
Función pinMode(pin, mode)
• Función usada en la function setup() para configurar un pin dado para comportarse como
INPUT o OUTPUT. Ej. pinMode(pin, OUTPUT); configura el pin número 'pin' como de
salida. Los pines de Arduino funcionan por defecto como entradas, de forma que no
necesitan declararse explícitamente como entradas empleando pinMode().
Función digitalRead(pin)
• Lee el valor desde un pin digital específico. Devuelve un valor HIGH o LOW. El pin
puede ser especificado con una variable o una constante (0-13). Ej. v = digitalRead(Pin);
Función digitalWrite(pin, value)
• Introduce un nivel alto (HIGH) o bajo (LOW) en el pin digital especificado. De nuevo, el
pin puede ser especificado con una variable o una constante 0-13. Ej. digitalWrite(pin,
HIGH);

6
Función analogRead(pin)
• Lee el valor desde el pin analógico especificado con una resolución de 10 bits. Esta
función solo funciona en los pines analógicos (0-5). El valor resultante es un entero de 0 a
1023. Los pines analógicos, a diferencia de los digitales no necesitan declararse
previamente como INPUT o OUTPUT.
Función analogWrite(pin, value)
• Escribe un valor pseudo-analógico usando modulación por ancho de pulso (PWM) en un
pin de salida marcado como PWM. Esta función está activa para los pines 3, 5, 6, 9, 10,
11. Ej analogWrite(pin, v); // escribe 'v' en el 'pin' analógico. Puede especificarse un valor
de 0 - 255. Un valor 0 genera 0 V en el pin especificado y 255 genera 5 V. Para valores de
0 a 255, el pin alterna rápidamente entre 0 V y 5 V, cuanto mayor sea el valor, más a
menudo el pin se encuentra en HIGH (5 V). Por ejemplo, un valor de 64 será 0 V tres
cuartas partes del tiempo y 5 V una cuarta parte. Un valor de 128 será 0 V la mitad del
tiempo y 5 V la otra mitad. Un valor de 192 será 0 V una cuarta parte del tiempo y 5 V
tres cuartas partes. (Manual de programación de Arduino, 2015)
Instrumentación virtual
El concepto de instrumento virtual, es definido como, "un instrumento que no es real, se
ejecuta en una computadora y tiene sus funciones definidas por software." (National Instruments,
2001).

Arduino + LabVIEW
Tanto National Instruments (desarolladores de LabVIEW) como MathWorks
(desarrolladores de MATLAB) han presentado recientemente toolkits que permiten controlar un
microprocesador Arduino directamente desde el programa, sin necesidad de programar nada en el
Arduino excepto un código estándar que ellos te proporcionan y permite la comunicación. Una
vez hecho, el Arduino pasa a ser controlado directamente desde el PC.

Se puede crear un instrumento virtual con LabVIEW + Arduino. El software necesario,


una vez se tiene acceso a LabVIEW (por ejemplo, en el caso más inocente, a través de una
licencia de campus), se puede encontrar en la página de National Instruments. Una vez todo
instalado, podemos empezar a montar el Arduino para la prueba. (García, 2011)

7
Ilustración 2-Montaje físico de un isntrumento virutal

National Instruments, viendo que mucha gente tiene acceso a LabVIEW pero no a sus
carísimas tarjetas de captura (DAQ), ha decidido crear una interfaz para Arduino, que permita
usar las funciones de Arduino directamente desde LabVIEW para crear así instrumentos virtuales
(VI). Por ejemplo, el que presentamos a continuación, que permite tanto leer de una entrada
analógica como escribir una señal analógica PWM. La interfaz gráfica, puede ser: (García, 2011)

Ilustración 3-LabVIEW como utilizado como instrumento virtual

DESARROLLO DE LA PRÁCTICA
Materiales y recursos utilizados
Software
o LabVIEW con módulo VISA (para transmisión de datos serial)
o IDE Arduino
o Proteus con librería simulino o Arduino
o Virtual serial port driver (para manejo de puertos virtuales)

8
Hardware
• Entrada digital
o Arduino Micro Pro con su cable serial
o Fuente de voltaje de 3.6V
o Pulsador tipo botón biestable
o Resistor de 10K Ω
• Salida digital
o Arduino UNO con su cable serial
o Diodo LED
o Resistor de 220 Ω

Entrada digital

Para el desarrollo de la primera parte de la práctica se tiene como objetivo que al


presionar un botón real accione un LED virtual generado en LabVIEW, para lograrlo se realizará
una simulación e implementación con el siguiente proceso.

Simulación en Proteus
Tomar en cuenta tener las librerías Simulino o Arduino instaladas correctamente.

• Componentes utilizados
o ARDUINO NANO: microcontrolador usado para simularlo como entrada digital.
o COMPIM: Interface de puerto serial virtual con todas las terminales necesarias para
transmisión de datos.
o BUTTON: pulsador para enviar la señal digital a través de un circuito simple.
o RES: resistencia para controlar la corriente del circuito.
o TERMINAL VCC y GND, para alimentación del circuito.
o VIRTUAL TERMINAL: para la visualización de datos del puerto virtual.
Se arma el esquema de la siguiente manera:

Ilustración 4-Esquema para la entrada virutal en PROTEUS

• Configuración adicional.
9
o Una vez realizado el programa Arduino como binario compilado, seleccionar la ubicación del
archivo .hex, como se muestra en la ilustración 5

Ilustración 5-Seleccionar ubicación del binario compilado de arduino

o Después de crear los puertos virtuales [COM1 →COM2], utilizando el software “Virtual
serial port driver”, seleccionarlo como se indica en la ilustración 5, además de inicializar el
puerto en 9600.

Ilustración 6-Seleccionar ubicación del binario compilado de Arduino

Programación en LabVIEW
Tomar en cuenta tener el módulo VISA correctamente instalado.

10
• Diagrama de bloques

Ilustración 7-Diagrama de bloques para la entrada digital

• Panel frontal

Ilustración 8-Panel frontal de la entrada digital

Programación en Arduino
En la ilustración 9 se muestra el programa utilizado para la entrada digital, el cual está
debidamente comenta además de utilizar una salida de voltaje para alimentación del circuito del botón, el
cual no se utilizó en la implementación ya que se usó una fuente externa.

11
Ilustración 9-Programa utilizado para entrada digital

• Carga del programa para la simulación en proteus.


o Asegurarse de escoger la placa utilizada en la simulación de Proteus.
o Exportar el archivo como binario compilado (.hex) para que pueda ser leído por Proteus.

Ilustración 10-Consideraciones para la exportación del archivo de binarios compilados

• Carga del programa para la implementación en placa Arduino real.


o Asegurarse de escoger la placa física y el puerto que está conectado de manera correcta.
o Subir el programa al Arduino y cerciorarse que no haya errores.

12
Ilustración 11-Consideraciones para subir el programa Arduino de entradas digitales

Salida digital

Para el desarrollo de la segunda parte de la práctica se tiene como objetivo que al


presionar un botón virtual en LabVIEW, se accione un LED real, para lograrlo se realizará una
simulación e implementación con el siguiente proceso.

Simulación en Proteus
• Componentes utilizados
o ARDUINO NANO: microcontrolador usado para simularlo como entrada digital.
o COMPIM: Interface de puerto serial virtual con todas las terminales necesarias para
transmisión de datos.
o LED-BIGY: Indicador LED para percibir la salida digital.
o RES: resistencia para controlar la corriente del circuito.
Se arma el esquema de la siguiente manera:

Ilustración 12-Esquema para la salida virtual en PROTEUS

• Configuración adicional.
o Usar la misma configuración adicional utilizada para la entrada digital.

13
Programación en LabVIEW
Tomar en cuenta tener el módulo VISA correctamente instalado.

• Diagrama de bloques

Ilustración 13-Diagrama de bloques para la salida digital

• Panel frontal

Ilustración 14-Panel frontal de la salida digital

14
Programación en Arduino
En la ilustración 15 se muestra el programa utilizado para la entrada digital, el cual está
debidamente comentado.

Ilustración 15-Programa utilizado para salida digital

• Carga del programa para la simulación en proteus.


o Tomar las mismas consideraciones usadas en la entrada digital.
• Carga del programa para la implementación en placa Arduino real.
o Asegurarse de escoger la placa física y el puerto que está conectado de manera correcta.
o Para esta parte de la práctica se utilizó un Arduino UNO, debido a problemas en el Arduino
Micro Pro
o Subir el programa al Arduino y cerciorarse que no haya errores.

Ilustración 16-Consideraciones para subir el programa Arduino de salida digital

15
SIMULACIÓN
Para una prueba más detallada de la implementación VER video anexado.
Entrada digital

Simulación usando los puertos seriales virtuales, donde el terminal virtual de Proteus usa
el puerto COM1, mientras que LabVIEW usa el puerto COM2.

Cuando se presiona el botón simulado, el cual funciona como entrada digital, este envía
una señal de “1” lógico por la comunicación de puertos seriales virtuales lo que permite que
LabVIEW detecte el botón pulsado y encienda el LED virtual, según la programación
preestablecida.

Ilustración 17-Simulación de entrada digital, con botón presionado.

Cuando el botón simulado no está presionado se envía una señal de “0” lógico por la
comunicación de puertos seriales virtuales lo que permite que LabVIEW detecte el botón sin
pulsar y NO encienda el LED virtual, según la programación preestablecida.

16
Ilustración 18-Simulación con entrada digital, con botón sin presionar.

Salida digital

Simulación usando los puertos seriales virtuales, donde el terminal virtual de Proteus usa
el puerto COM1, mientras que LabVIEW usa el puerto COM2.

Cuando se presiona el botón generado en LabVIEW, este envía una señal por el puerto
serial, el cual detecta un cambio de estado, según la programación preestablecida, lo cual
produce una salida digital en el pin 6 del Arduino, la cual puede ser percibida con la utilización
de un LED indicador, que se enciende mientras el botón siga presionado.

17
Ilustración 19-Simulación de salida digital, con LED indicador encendido.

Cuando se deja de presionar el botón generado en LabVIEW, este envía una señal por el
puerto serial, el cual detecta un cambio de estado, según la programación preestablecida, lo cual
deja de enviar una salida digital en el pin 6 del Arduino, la cual puede ser percibida con la
utilización de un LED indicador, que se apaga hasta que el botón se vuelva a presionar.

Ilustración 20-Simulación de salida digital, con LED indicador apagado.

18
IMPLEMENTACIÓN CON ARDUINO
Para una prueba más detallada de la implementación VER video anexado.
Entrada digital

Implementación usando puerto serial, donde el terminal de Arduino Micro Pro hacia
LabVIEW usa el puerto COM12.

Cuando se presiona el botón real, el cual funciona como entrada digital, este envía una
señal de “1” lógico por la comunicación de puerto lo que permite que LabVIEW detecte el botón
pulsado y encienda el LED virtual, según la programación preestablecida.

Ilustración 21-Implementación de entrada digital, con botón presionado.

19
Cuando el botón real no está presionado se envía una señal de “0” lógico por la
comunicación de puerto serial lo que permite que LabVIEW detecte el botón sin pulsar y NO
encienda el LED virtual, según la programación preestablecida.

Ilustración 22-Implementación con entrada digital, con botón sin presionar.

20
Salida digital

Implementación usando puerto serial, donde el terminal de Arduino UNO hacia


LabVIEW usa el puerto COM17.

Cuando se presiona el botón generado en LabVIEW, este envía una señal por el puerto
serial, el cual detecta un cambio de estado, según la programación preestablecida, lo cual
produce una salida digital en el pin 6 del Arduino, la cual puede ser percibida con la utilización
de un LED indicador, que se enciende mientras el botón siga presionado.

Ilustración 23-Implementación de salida digital, con LED indicador encendido.

21
Cuando se deja de presionar el botón generado en LabVIEW, este envía una señal por el
puerto serial, el cual detecta un cambio de estado, según la programación preestablecida, lo cual
deja de enviar una salida digital en el pin 6 del Arduino, que puede ser percibida con la utilización
de un LED indicador, que se apaga hasta que el botón se vuelva a presionar.

Ilustración 24--Implementación de salida digital, con LED indicador apagado.

22
CONCLUSIONES
• Se simuló la comunicación mediante puerto serial entre una entrada digital, con un circuito
simple formado por un botón y una resistencia, además del microcontrolador Arduino Mini
simulado en Proteus, hacia una salida virtual usando una luz indicadora en LabVIEW,
además se implementó la entrada digital físicamente usando el esquema de circuito
simulado con un microcontrolador Arduino Micro Pro, obteniendo una correcta transmisión
de datos de entrada mediante el puerto serial en ambas aplicaciones.
• Se simuló la comunicación mediante puerto serial entre una salida virtual usando un botón
generado en LabVIEW, hacia una salida digital, con un circuito simple formado por un
LED indicador, una resistencia y un microcontrolador Arduino Mini simulado en Proteus,
además se implementó la salida digital físicamente usando el esquema de circuito simulado
con un microcontrolador Arduino UNO, obteniendo una correcta transmisión de datos de
salida mediante el puerto serial en ambas aplicaciones.

RECOMENDACIONES
• Para la implementación física del circuito de entrada digital, se recomienda usar al propio
microcontrolador como fuente para la alimentación del circuito que envía la señal del
pulsador, definiendo un pin como salida digital constante, para que en la entrada digital
exista una entrada constante de 5V, y así evitar posibles sobre picos que pueden dañar el
microcontrolador.
• Para la implementación física del circuito de salida digital, NO se recomienda el uso del
microcontrolador Arduino Micro Pro, debido a problemas al momento del uso del bloque
“VISA write”, el cual genera un error en la salida de datos por el puerto serial.

BIBLIOGRAFÍA
Autómatas programables. (2012). Scehu. Obtenido de
http://www.sc.ehu.es/sbweb/webcentro/automatica/WebCQMH1/PAGINA%20PRINCIPAL/PLC/
ESTRUCTURAS/ESTRUCTURA%20INTERNA/SECCION%20DE%20ES/seccion_de_es.htm
García, J. (27 de julio de 2011). We choose the moon. Obtenido de
https://wechoosethemoon.es/2011/07/27/arduino-labview-instrumentos-virtuales/
López, A. (27 de junio de 2020). IO Digitales. Quito, Pichincha, Ecuador.
Manual de programación de Arduino. (2015). DFISTS. Obtenido de
http://dfists.ua.es/~jpomares/arduino/page_10.htm
Pinkback. (22 de octubre de 2017). Aprendiendo arduino. Obtenido de
https://aprendiendoarduino.wordpress.com/2017/10/22/entradas-y-salidas-digitales-arduino/

23

Вам также может понравиться