0% found this document useful (0 votes)
54 views

Arduino + Lab View

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

Arduino + Lab View

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

Página 

principal Buscar Buscar Usted

 slideshare

Subir
Iniciar sesión
Registrarse

Buscar  

Página principal
Liderazgo
Tecnología
Educación
Comercialización
Diseño
Más temas

Buscar
Se está descargando su SlideShare. ×
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Arduino + lab view
Próxima SlideShare

Cargando en...5
×
 

Pornográfico
Difamatorio
Ilegal/Ilícito
No deseado
Other Violations

Thanks for flagging this SlideShare!

Oops! An error has occurred.
 1 of 114 
 

Saving this for later?
Get the SlideShare app to save on your phone or tablet.
Read anywhere, anytime – even offline.

Text the download link to your phone
Su número de teléfono Your country code
Send Link
Standard text messaging rates apply

Arduino + lab view
56,739

Compartir
Me gusta
Bajar

Alberto Sanchez (3 SlideShares) , Working at Instituto Tecnológico de Cuautla
Follow
0   112   1   7

Published on 02 de noviembre de 2012

5 comentarios
37 Me gusta
Estadísticas
Notas

Full Name
Comment goes here.
Hace 12 horas   Delete Reply Spam Block
¿Está seguro? Sí No
Tu mensaje aparecerá aquí
Comparta sus opiniones...
Publicar

Bruno Castillejos Cruz , Gerente at Xbox Mexico
@Lina Barrera Gamboa recuerda que dependiendo el modelo del arduino el bus con el protocolod e
comunicación SPI utiliza algunos pines del microcontrolador que pueden ser unos mismo que los que usan
para la entradas analógicas. Y por lo mismo no se pueden utilizar ambos al mismo tiempo
Hace 2 meses    Responder 
¿Está seguro?  Sí  No
Tu mensaje aparecerá aquí

Manolo Floyd , Musician at Kolegio Studio
Gracias!
Hace 3 meses    Responder 
¿Está seguro?  Sí  No
Tu mensaje aparecerá aquí

Lina Barrera Gamboa , Estudiante de ingeniería electrónica at Universidad Distrital Francisco José de
Caldas
Tengo un problema al utilizar el lector de puerto analogico 'analog read port' y el bus SPI a la vez, ya que
cuando empiezo a enviar datos por el SPI el lector analogico deja de servir. Gracias
Hace 1 año    Responder 
¿Está seguro?  Sí  No
Tu mensaje aparecerá aquí

luisatilio
Gracias por este importante aporte.
Hace 1 año    Responder 
¿Está seguro?  Sí  No
Tu mensaje aparecerá aquí

Carlos Argel Camacho Sandoval
gracias por los grandes aportes
Hace 2 años    Responder 
¿Está seguro?  Sí  No
Tu mensaje aparecerá aquí

Juan Carlos at Zorros del ITQ
3 days ago
Gollo Ca
2 weeks ago

Cesar Crurre at Pues Quien Sabe
3 weeks ago

Marcio Reyes , Desenho, projeto e desenvolvimento de hardware. at InoBram Automações
3 weeks ago

tr_manolete
3 weeks ago

Show More
Sin descargas
reproducciones
reproducciones totales
56,739
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
120
Descargas
4,653
Comentarios
5
Me gusta
37
Insertados 0
No embeds

Denunciar contenido
Marcar como inapropiada
Reclamación de derecho de copia
No notes for slide

Transcript
1.  1. 6 Labview + Arduino Utilización de Labview para la Visualización y Control de la Plataforma Open
Hardware Arduino +Ver. 1.0 Arduino José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez Serie:
Herramientas Gráficas para la programación de Arduino 1
2.  2. INDICE1. Introducción2. Cinco razones para utilizar Arduino + LabVIEW3. ¿Dónde encontrar ayuda y
herramientas para usar NI LabVIEW y Arduino?4. Instalación del Software y el Hardware.5. Instalación
del Firmware de comunicación entre LabVIEW Interface y Arduino Uno?6. Algunas preguntas sobre la
interface LIFA7. Desarrollo de aplicaciones básicas. 7.1. Lectura de una entrada digital. 7.2. Test1 7.3.
Comparador 7.4. Contador de impulsos 7.5. Contador de impulsos con puesta a cero 7.6. Intermitente 7.7.
Semáforo Simple 7.8. Semáforo Ajustable 7.9. Gobierno de una Salida Analógica PWM 7.10. Gobierno de
una salida digital seleccionada 7.11. Escritura/Lectura de todos los canales 7.12. Control de Servos 7.13.
Función AND 7.14. Temperatura 1 7.15. Control Motor de cc. Velocidad y Sentido 7.16. Medida de
Temperatura mediante el Bus I2C 7.17. Diálogo con Arduino Ethernet. 7.18. Lectura de una Entrada
Analógica. 7.19. Conexión de un Módulo BlinkM. 7.20. Lectura de un valor Analógico Continuamente
tomando muestras. 7.21. Adquisición de un número determinado de muestras de un canal analógico. 7.22.
Medida de Luz 7.23. Control de un Diodo LED Tricolor (RGB). 7.24. Medida de Temperatura. 7.25.
Manipulación de un Mando Joystick. 7.26. Generador de Tonos ANEXOS Material Básico Librerías de
LIFA 2
3.  3. Una primera reflexión.Permíteme amable lector dedicar un pequeño espacio en este trabajo queahora
tienes en tus manos y que forma parte de un conjunto de trabajos quehe venido realizando en los últimos
años, para realizar una reflexión queestimo muy importante.Al escribir este, y otros documentos que
escribí sobre el mismo tema, miobjetivo principal ha sido poder contribuir al desarrollo del
conocimientoen el ámbito de las Plataformas Open Hardware y sus aplicaciones en elDesarrollo de
Prototipos y Aprendizaje de las Técnicas de Automatizacióny Control Programable. Mi idea principal, es
“compartir” mi trabajo y misconocimientos con los demás, porque estoy convencido que en esta“sociedad
del conocimiento”, que nos ha tocado vivir, ese es un caminograto y amable. No es “puro romanticismo”
esto que te digo, es, más bien,una realidad, una forma de pensar, de trabajar y de vivir. Solo en uncontexto
de generosidad y colaboración es posible que avance latecnología, siempre con el objetivo de lograr el
bienestar de los pueblos yla justicia en sus formas de gobierno.Ojala y otros muchos profesores,
investigadores, alumnos y entusiastas dela electrónica y la informática, sigan este camino y cada vez sean
más lostrabajos que se pongan gratuitamente al servicio de la comunidad. Sonmuchos los que lo han hecho
hasta ahora y espero que sean más los que sesumen a esta idea de “compartir el conocimiento”.José
Manuel Ruiz Gutiérrezj.m.r.gutierrez@gmail.com24 de Agosto 2012 3
4.  4. Agradecimientos y reconocimientos.La elaboración de este trabajo no hubiese sido posible sin recurrir a
lasfuentes de conocimiento y a la experiencia de numerosas personas que demanera libre o adscritos a una
entidad pública o privada han trabajado en eldesarrollo de aplicaciones tanto hardware como Software para
laPlataforma Open Hardware Arduino.Debo reconocer y agradecer en primer lugar la valiosa labor de
NI(National Instruments) al atender esta demanda de la comunidad académicaen el desarrollo de LIFA
(LabVIEW Interface for Arduino). De ellos heutilizado gran parte de la información que me ha permitido
desarrollar estemanual.Quiero también agradecer a todos los innumerables investigadores quedesde sus
distintos ámbitos han colocado en la Web sus trabajos para poderser utilizados por la comunidad. Algunos
ejemplos que figuran en estemanual proceden de algunas páginas que se referencian en ellos.Recordar
especialmente a toda la comunidad de “seguidores de Arduino”con los que he compartido gratas sesiones
de intercambio real, en vivo ydirecto, sus conocimientos, en los Congresos, Barcamps y Jornadas que
seviene realizando en España y en el resto de países del mundo. Este trabajo está bajo licencia Creative
Commons Attribution 3.0 Unported License Agosto de 2012 Versión de Documento: Versión. (Beta en
Revisión) Blog de referencia: http://josemanuelruizgutierrez.blogspot.com 4
5.  5. 1. INTRODUCCIÓNLa interfaz de LabVIEW para Arduino (LIFA) Toolkit es una herramienta gratuita
quese puede descargar desde el servidor de NI (National Instruments) y que permite a losusuarios de
Arduino adquirir datos del microcontrolador Arduino y procesarlos en elentorno de programación gráfica
de LabVIEW. Para utilizar la aplicación LIFA no esnecesario disponer de una versión comercial de
LabVIEW basta con adquirir el softwareLabVIEW Student Edition que se distribuye por destinos medios a
un precio muyasequible (Sparkfun Electronics lo distribuye junto con la tarjeta Arduino UNO a unprecio
de unos 50 $).Este trabajo pretende ser una respuesta a la necesidad que existe en el ámbito
académicouniversitario de poder disponer de un entorno de Diseño y Prototipado de Aplicacionesde
Medida, Control y Automatización de Procesos y Espacios Físicos. La plataformaOpen Hardware Arduino
ha demostrado en su corta, pero intensa vida, ser una opciónmuy interesante para incluir en un
Laboratorios de Prototipado. Son muchas susventajas, entre las que destacamos su costo, su libre difusión
y exención de costos depatentes por desarrollo así como la gran comunidad de usuarios que se ha creado y
queesta generando una cantidad de aplicaciones increíble.La participación de una empresa como NI
National Instruments en este proyecto dedesarrollo de aplicaciones Software para Arduino pone de
manifiesto el gran interés dela herramienta. No solo se ha sumado esta empresa al proyecto sino también
Google consus aplicaciones escritas en lenguaje Android, Telefónica con el desarrollo de unatarjeta para
programar desde telefonía móvil, y otras compañías.En este manual he recogido información dispersa y
sobre todo he incluido numerososejemplos que pretenden ser una ayuda y un estimulo para que quien lo
desee puedaexperimentar con esta herramienta Software que por otra parte funciona soportada conuna
simple Licencia de estudiante de LabVIEW. 5
6.  6. 2. Cinco razones para utilizar Arduino+Labview(traducido de la página http://www.ni.com/white­
paper/12879/en )El microcontrolador Arduino es una plataforma de bajo costo de electrónica deprototipos.
Con la interfaz de LabVIEW para Arduino LIFA se puede aprovechar lapotencia del entorno de
programación gráfica de LabVIEW para interactuar conArduino en una nueva dimensión.1. Interface
Gráfica de Usuario (Graphical User Interface GUI) Visualizar los datos Mostrar datos de los sensores en el
monitor del ordenador mediante los paneles frontales de LabVIEW. Personalización de la interfaz de
usuarioPermite dar al proyecto un toque profesional con los controles del panel frontal deLabVIEW y los
indicadores.2. Programación Grafica Arrastrar y soltar En lugar de tratar de recordar un nombre de
función, se encuentra en la paleta y colóquelo en su diagrama de bloques. Documentación simplePase el
ratón sobre cualquier VI o función con el ratón y ver al instante ladocumentación con ayuda contextual. 6
7.  7. 3. Desarrollo Interactivo Animar la ejecución Diagrama de bloques Consulte los valores de datos que se
transmiten de una función a otra con resaltado de ejecución. Sondas, puntos de nterrupción, y la
intensificaciónDatos de la sonda, la ejecución de una pausa, y el paso a una subrutina sin necesidad
deprogramación compleja.4. Utilización de librerías Conexión con librerías. 850 bibliotecas integradas
Aprovechar cientos de bibliotecas integradas de procesamiento de señales, matemáticas y análisis.
Bibliotecas Conectividad Interfaz con los servicios web, bases de datos, archivos ejecutables y más con
funcionalidadintegrada en el núcleo de LabVIEW.5. Código API abiertoEn el lado LabVIEWMe pregunto
qué está pasando bajo el capó? Haga doble clic en cualquier VI dentro dela caja de herramientas y se vea
cómo funciona.En el lado Arduino¿Quiere modificar el Sketch Arduino proporciona para su aplicación
específica? Seincluye la modificación de la caja de herramientas. 7
8.  8. 3. ¿Dónde encontrar ayuda y herramientas para usar NI LabVIEW y Arduino?En el proceso de
instalación del software de Arduino para Labview se recomiendarecurrir a los siguientes enlaces en donde
se podrá descargar el software y leer lasrecomendaciones en el proceso de instalación esta paginas están el
servidor de NationalInstrument (LabVIEW) El paquete LabVIEW Interface for Arduino es totalmente
gratuito y se puede descargar en: https://decibel.ni.com/content/groups/labview­interface­for­arduino Las
instrucciones para la instalación se encuentran aquí: https://decibel.ni.com/content/docs/DOC­16204 Si se
desea adquirir el Kit NI LabVIEW + Arduino se puede adquirir aqui:
http://www.sparkfun.com/products/10812 En el siguiente enlace se pueden encontrar las respuestas a las
dudas para utilizar el toolkit de NI LabVIEW para Arduino: https://decibel.ni.com/content/docs/DOC­
16024 La guía de usuario para NI LabVIEW y Arduino se puede encontrar aquí:
http://nitalk.natinst.com/docs/DOC­39019 Para utilizar NI LabVIEW + Mac se puede encontrar ayuda
aquí: https://decibel.ni.com/content/thread/9782 A continuación se muestran los enlcaces en donde poder
encontrar ejemplos realizados con la el Kit.NI LabVIEW + Arduino: Show de luces:
https://decibel.ni.com/content/docs/DOC­16070 Usando librerías de Arduino con NI LabVIEW:
https://decibel.ni.com/content/thread/12931 Ejemplo del control de un motor de pasos con Arduino 8
9.  9. https://decibel.ni.com/content/docs/DOC­20084Leer la intensidad de luz en una celda solar con
Arduinohttps://decibel.ni.com/content/docs/DOC­16069Manipular los LEDs de la tarjeta
arduinohttps://decibel.ni.com/content/docs/DOC­16261 9
10.  10. 4. Instalación del Software y el HardwareA continuación describimos los pasos que se recomiendan
para la puesta en marcha dela herramienta LIFA ( LabVIEW para Arduino):La configuración de la Interfaz
de LabVIEW para Arduino es un proceso de seis pasosque usted sólo tendrá que completar una sola vez.
Por favor, siga las siguientesinstrucciones para comenzar a crear aplicaciones con la interfaz de LabVIEW
paraArduino.(Para una breve descripción de la interfaz de LabVIEW para Arduino ver post
Michaelsaquí).1. Instalar LabVIEW Si ha adquirido el paquete de LabVIEW y del Sparkfun.com Arduino
puede instalar LabVIEW desde el DVD incluido. Si usted no posee una copia de LabVIEW, usted puede
descargar e instalar la versión de evaluación de 30 días aquí.2. Instale los controladores VISA NI­.
Windows Download. Linux Download. Mac Download.3. Instale JKI VI Package Manager (VIPM)
Community Edition (gratuito). Todos los sistemas operativos.All Operating Systems.4. Instalación de la
Interfaz de LabVIEW para Arduino como se describe en KB 5L38JQYG KB 5L38JQYG5. Conectar la
placa Arduino a su PC como se describe en KB 5INA7UYG KB 5INA7UYG6. Carga de la interfaz de
LabVIEW para firmware Arduino en su Arduino como se describe en KB 5LPAQIYG 10
11.  11. 7. El firmware se puede encontrar en <LabVIEW> vi.lib Interface LabVIEW para Arduino Firmware
LVIFA_Base. Utilizar el IDE de Arduino para implementar este firmware de la placa Arduino.) Ahora está
listo para usar la interfaz de LabVIEW para Arduino. 11
12.  12. 5. Instalación del Firmware de comunicación entre LabVIEW Interface y Arduino Uno?Para poder
comunicar Labview con Arduino, previamente, debemos instalar en la tarjetael firmware
correspondiente.Partimos del supuesto de que ya tenemos instalado en nuestro PC el entorno
IDEArduino.El fichero que debemos cargar en el IDE de Arduino para luego descargar en la tarjetase
encuentra en la carpeta en dinde tengasmos instaldo Labview…National InstrumentsLabVIEW
20XXvi.libLabVIEW Interface forArduinoFirmwareLVIFA_BaseEjecutamos el IDE Arduino y cargamos
el fichero.Pasos a seguir: Abrir el IDE Arduino . Pulsando sobre arduino.exe Con la opción Fichero­>Abrir
Buscamos el fichero LVIFA_Base.pde Seguidamente una vez cargado el fichero en el IDE Arduino
seleccionamos la tarjeta con la que trabaremos. 12
13.  13. Seguidamente seleccionamos el puerto con el que realizaremos la descarga delfirmaware sobre la
tarjeta Arduino. 13
14.  14. Una vez realizadas estas operaciones basta con que pulsemos el botón de cargade sketch del IDE para
que el fichero se transfiera a la tarjeta y, una veztransferido, ya hemos dejado Arduino listo para
comunicarse con LabVIEW 14
15.  15. 6. Algunas preguntas sobre la interface LIFA(Traducido de https://decibel.ni.com/content/docs/DOC­
16024)1. ¿Qué es la interfaz de LabVIEW para Arduino? La interfaz de LabVIEW para Arduino (LIFA)
Toolkit Free Toolkit es un conjunto de herramientas gratuitas que permiten a los desarrolladores adquirir
datos desde el microcontrolador Arduino y procesarlo en el entorno de programación gráfica de
LabVIEW.2. ¿Qué versiones del entorno LabVIEW permiten la conexión con Arduino? La interfaz de
LabVIEW para Arduino es actualmente compatible con cualquier versión de Windows o Mac OS que
soporta LabVIEW 2009 o posterior. El kit de herramientas también funcionan en cualquier versión de
Linux que soporta LabVIEW 2009 o posterior, sin embargo actualmente no existe un instalador (JKI VI
Package Manager) para Linux. JKI está trabajando actualmente en VIPM 2010 para Linux, que estará
disponible aquí cuando haya terminado.3. ¿Qué versión de LabVIEW Qué necesito para utilizar la interfaz
de LabVIEW para Arduino? 2009 o posterior.4. ¿Qué hardware es necesario para utilizar la interfaz de
LabVIEW para Arduino? Para empezar, el único hardware que se necesita es una tarjeta Arduino, cable
USB y un ordenador con LabVIEW y la interfaz de LabVIEW para Arduino. La interfaz de LabVIEW
para Arduino fue desarrollado y probado usando Arduino UNO y Arduino MEGA 25605. ¿Cómo se
instala la interfaz de LabVIEW para Arduino? Siga los pasos de este documento. Instalación.6. ¿Dónde se
puede obtener soporte para la interfaz de LabVIEW para Arduino? Soporte para la interfaz de LabVIEW
para Arduino se proporciona en los foros de la comunidad community forums. La interfaz de LabVIEW
para Arduino no está 15
16.  16. soportada por Ingenieros de Aplicaciones a través del teléfono, correo electrónico, o de otra manera.7.
¿Cómo puedo empezar a utilizar la interfaz de LabVIEW para Arduino? Después de instalar el kit de
herramientas que puede ver aquí la mejor manera de empezar es mediante los ejemplos que viene en el
paquete LIFA de LabVIEW. Se encuentran en …National InstrumentsLabVIEW 2012examplesLabVIEW
Interface for Arduino8. ¿Puedo implementar el Código de LabVIEW a mi Arduino? No. En este momento
no es posible implementar el Código de LabVIEW para la placa Arduino. Solo es posible utilizar la
interfaz de LabVIEW para Arduino para comunicarse con la placa Arduino utilizando LabVIEW en modo
“esclavo” On­line9. ¿Tengo que ser tener a un ordenador para utilizar la interfaz de LabVIEW para
Arduino? Sí, sin embargo, puede ser "sin cables " mediante el uso de una o XBee BlueSMiRF ¿Cómo
configuro la interfaz de LabVIEW para Arduino para usar una conexión Bluetooth a mi Arduino? o XBee
or BlueSMiRF o How Do I Setup the LabVIEW Interface for Arduino to use a Bluetooth Connection to
my Arduino?10. ¿Puedo agregar mis propios sensores a la interfaz de LabVIEW para Arduino? Sí. Tanto
el firmware y el VIS son de código abierto pensado para la personalización.11. ¿Cómo funciona la interfaz
de LabVIEW para Arduino (LIFA) de trabajo? En pocas palabras, la interfaz de LabVIEW para Arduino
envía paquetes de datos de LabVIEW para Arduino. Arduino procesa los paquetes y envía paquetes de
retorno. Los paquetes de retorno se analizan por LabVIEW para proporcionar información útil para el
usuario final. Cada paquete es de 15 bytes por defecto y contiene un encabezado, un byte de comando, los
bytes de datos, y una suma de comprobación. La longitud del paquete se puede cambiar para adaptarse a
aplicaciones específicas mediante la modificación del firmware y especificar el tamaño del paquete a la VI
Init en LabVIEW (La mayoría de los usuarios no tendrán que hacer esto). El firmware LIFA en el Arduino
procesa los paquetes, asegurando que los datos no se han dañado durante la transmisión. A continuación,
una vez leído el paquete, comprueba el byte de comando y ejecuta las instrucciones con los bytes de datos
proporcionados basándose en el byte de comando. 16
17.  17. 7. Desarrollo de Aplicaciones Básicas.7.1.Lectura de una entrada DigitalPara empezar con nuestros
ejemplos prácticos lo haré con la práctica más sencilla: Leerel valor de una entrada digital de Arduino.Se
trata de realizar un montaje que permita seleccionar el PIN digital desde la propiapantalla del Panel y que
mediante un Led podamos ver su estado.En la siguiente figura se muestra el PanelPara empezar debemos
configurar Arduino y lo hacemos poniendo el bloque “Init” alque le asignamos los parámetros: Puerto de
comunicación Velocidad de transmisión Tipo de tarjeta Arduino Numero de bits de los paquete de
comunicación Tipo de puerto de comunicación. 17
18.  18. No olvidemos que estos parámetros a excepción del puerto de comunicación los asumepor defecto el
sistema, es decir que si no los ponemos el sistema los toma con esosvalores.Para asignar las constantes
mencionadas basta ponerse sobre el terminal con laherramienta de edición en modo “wire” y pulsando el
botón derecho del ratónpodemos seleccionar el control a añadir con la opción “Create” (Constant,
Control,Indicador).A continuación se coloca una estructura de tipo “While loop”que se ejecutara
continuamente hasta que pulsemos el botón “Cerrar puerto”, viene aser el equivalente al “loop” de un
programa escrito para Arduino.Dentro de esta estructura pondremos el bloque de configuración de E/S y el
de lecturade valor de Entrada de la tarjeta Arduino 18
19.  19. En la entrada “Pin Mode” debemos seleccionar “INPUT” y la entrada “Digital I/OPIN” deberemos
unirla a un bloque “PIN Digital” que creara el control correspondienteen el Panel y que en modo de
ejecución permitirá cambiar la entrada a leer.IMPORTANTE: Es muy importante que se sepa que los PIN
0 y PIN 1 digitales estánocupados en la comunicación con LabVIEW por lo tanto nunca se deben
seleccionar nipara leerlos ni para escribir en ellos.No debemos olvidarnos de realizar el cableado de los
buses de conexión entre módulos:La salida del dato leído es un dato tipo “Integer de 8 bits” por lo tanto se
deberárealizar la conversión a dato tipo booleanoPara después llevarlo a un indicador de tipo array
booleano TRUE FALSE.cuyo referente en el Panel es el mostradoLa manera de operar ser ejecutar el
ejemplo construido y probar su funcionamiento.Pulsando para detener la ejecución siempre se debe hacer
pulsandoen el botón del Panel “Cerrar”En la figura vemos el montaje de la aplicación en el caso de testear
la entrada 2 PIN 2 19
20.  20. 20
21.  21. 7.2. Test 1En el siguiente ejemplo se pretende realizar la lectura y escritura de valores en la
tarjetaArduino.Se enviará un valor analógico a la salida PWM PIN 3 que obtendremos de un elementode
panel. Se leerá el valor del canal de entrada analógica A0 y se mostrará en uninstrumento de aguja en el
panel a la vez que en un instrumento “termómetro”.Finalmente se escribirá un valor digital en el PIN 8
mediante un interruptor en el panel.En la figura vemos el aspecto de nuestro Panel.Tal y como se puede
observar en el diagrama de funciones de las siguiente figuraprocederemos de la siguiente manera.En
primer lugar colocamos el bloque de inicialización “Init” y le asignamos elparámetro de número de puerto,
el resto le dejamos los que toma por defecto.Seguidamente configuramos el PIN 8 como salida.Dentro del
bucle “While loop” procederemos a colocar los siguiente elementos:Un bloque de lectura de señal
analógica “Analog Read Pin” tal como se muestra en lafigura. 21
22.  22. Este bloque necesita que le pongamos el valor del canal de entrada analógica “AnalogInput Pin” y en
su salida nos entrega un valor tipo Double que se corresponde con lalectura realizada. La salida la
encaminamos a los instrumentos de medida MedidaA0que ese corresponde con el medidor de aguja del
panel.El siguiente bloque que debemos colocar es el correspondiente a la salida digital en el PIN 8El valor
que representa el numero de PIN lo recibe de la correspondiente constante “8” que yatenemos puesta para
la configuración del PIN y el valor “Value” que queremos sacar en lasalida lo tomamos de un interruptor
“PIN 8” que a la vez también sacamos a un Led LED 8.Ambos en el panel. 22
23.  23. El último bloque de función que colocaremos dentro del bucle es el de escritura del valoranalógico
PWM en el PIN 3. Lo haremos configurando el numero de PIN “3” y mediante unmando tipo
potenciómetro “Valor analógico” designaremos el valor de la entrada “Duty Cycle(0­255)”, conectando
también un indicador tipo termómetro “Salida”.Recordemos que para Arduino UNO las salidas tipo PWM
son los pines digitales 3,5,6,9,10 y11Finalmente, ya fuera del bucle colocamos el bloque de cierre del
canal “Close” y el bloque detratamiento de error, que nos permita mostrar en la pantalla una ventana con
información sobrelos posibles errores que se produzcan. 23
24.  24. 7.3. ComparadorEn este ejercicio vamos a realizar una aplicación que implica un sencillo cálculo
matemático:una comparación.Mediremos un valor analógico tomado del canal A0 y lo compararemos con
una consigna, eneste caso 2,5 realizaremos la comparación > y < y recogeremos el resultado de estas
doscomparaciones sobre unos Leds indicadoresEn la figura anterior se muestra el aspecto del panel.El
procedimiento de elaboración del diagrama funcional es muy sencillo.Dentro de estamento “While loop”
colocamos el bloque de lectura de valor analógico “AnalogRead pin” que ya hemos utilizado en la anterior
practica.La comparación se realiza con dos bloques de función comparación tal como se muestra en
lafigura. Por un lado ponemos el valor de comparación “2.5” y por otro la señal leída del canal.Las salidas
de los bloques se llevan a sendos diodos Leds indicadores: “Mayor que 2.5” y“Menor que 2.5” 24
25.  25. No debemos olvidar colocar dentro del bucle de lectura un botón cuya activación sea la que nossaque
de él: “Desconectar”.Finalmente se colocará el bloque de “Cierre” y el de “Errores”. 25
26.  26. 7.4. Contador de ImpulsosVamos a implementar una aplicación que nos permita contar los impulsos
que se reciben através de un pulsador en la entrada PIN (seleccionado por nosotros) y lo muestre en el
panel.Colocaremos un LED que nos indique que el impulso recibido y un botón para pararEn la figura
anterior se muestra el aspecto del Panel.Para realizar el diagrama funcional, como siempre colocaremos el
bloque de Inicio.Dentro del bloque “While loop” pondremos dos bloque de la librería de Arduino: Un
bloquepara configurar el PIN de entrada “Set Digital Pin Mode” y otro para leer el valor “DigitalRead
Pin”.El contador propiamente dicho se implementa con la ayuda de un bloque del tipo
“CaseStructure”.Este bloque tendrá dos estados posibles tal como se muestra en las siguientes figuras: 26
27.  27. En el caso “False” no hay impulso de cuenta el contador no sufre incremento y su valor setrasmite
directamente a la salida. En el caso “True”, la entrada al bloque sera TRUE y se activael contador
“incrementándose en 1”.Para obtener la señal de gobierno de esta estructura se ha recurrido a un bloque
que detectatransiciones de TRUE a FALSE.La salida del bucle “Case Structure” se obtiene un valor tipo
Integer que se lleva a unindicador.Finalmente se conectan los bloques de “Cierre” de canal y tratamiento
de errores.En la figura siguiente se muestra u esquema de conexionado para realizar las pruebas físicas
defuncionamiento. 27
28.  28. 28
29.  29. 7.5. Contador de impulsos con puesta a ceroEn el siguiente ejemplo añadimos al contador explicado en
el anterior la posibilidad de poner acero el contador.Para ello todo será igual a excepción de que
colocaremos un botón de “Puesta a cero” quellevara el contador al valor “0”En el esquema de bloques
funcionales vemos que el sistema es el mismo a excepción de quehemos añadido una función del tipo
“Select”.Esta función saca el valor de “t” cuando la entrada “s” es TRUE y saca “f” cuando su entrada“s”
es FALSE. 29
30.  30. A continuación mostramos el esquema completo. . Este sería el esquema de pruebas 30
31.  31. 7.6. IntermitenteAbordamos en este ejemplo el clásico ejemplo con el que se comienza a
estudiarArduino: una salida intermitente en uno de los Pines digitales.Vamos a activar la salida digital PIN
8 de modo intermitente con intervalos de tiempoajustables desde el Panel de control en tiempo de
ejecución.En este caso recurrimos a la ejecución cada cierto tiempo del contenido de nuestro bucle“While
loop”En la anterior imagen vemos el aspecto del Panel y en la siguiente vemos el esquema debloques
funcional de la aplicación.Como siempre inicializamos Arduino y después definimos el PIN 8 como una
salida.Dentro el bucle colocamos la función de escritura “Digital Write Pin”. Este bloquerecibe la señal
digital de la estructura que constituye el “oscilador” de frecuenciavariable: Implementación del reloj 31
32.  32. Implementación de un relojEn el bucle “While Loop” añadimos un “Shift Register” simplemente
pulsado en botónderecho del ratón estando exactamente sobre el contorno del bucle, opción “Add
ShiftRegister”. De esta forma conseguimos que se ejecute sistemáticamente cada ciertotiempo (el indicado
en la opción “Tiempo”) la operación que haydentro del bucle. Se trata de sacar TRUE y FALSE a través de
la señal “Reloj”.Se ha colocado un operador AND para habilitar mediante un interruptor (Salida PIN 8)el
paso de la señal de reloj al bloque “Digital Write Pin” de Arduino. Se han colocadotambién dos
indicadores LED para muestra las señales de Reloj “Salida Clock” y laque activa la entrada del bloque
Arduino de salida digital “Habilitada Salida” 32
33.  33. Este sería el montaje para realizar las pruebas reales de la aplicación. 33
34.  34. 7.7. Semáforo Simple. Los circuitos de tiempo son muy utilizados en los automatismos. Uno de los
mas clásicos ejemplos de estos circuitos es un semáforo. En la siguiente practica realizaremos un semáforo
simple. Utilizaremos las siguientes salidas digitales para cada una de las tres lámparas del semáforo: PIN
Digital Salida Tiempo 8 Rojo 1000 ms. 9 Ámbar 1000 ms. 10 Verde 700 ms. El tiempo de activación de
cada lámpara en este primer ejemplo será fijo y de 1seg. En la figura siguiente vemos el aspecto del Panel
en modo ejecución. Se muestran las tres lámparas y el botón “Parar”. El proceso que seguiremos en el
montaje es el siguiente:1. Inicializamos la conexión de Arduino mediante el bloque “Init”.2. Configura
como salidas de cada una de las tres lámparas: PIN (8) Roja, PIN (9) Ámbar y PIN (10) Verde. Esto lo
hacemos mediante los tres bloque de función “Set Digital Pin Mode” de la librería de Arduino 34
35.  35. 3. Genera las señales Rojo, Amarillo y Verde. Mediante una estructura tipo “Case Structure” que en
nuestro caso le añadiremos hasta “tres casos” o estados que se asociaran a cada uno de los estados de
nuestro semáforo. En las figuras siguientes se muestra cada uno e los casos creados. Hemos definido como
estado de inicio en la secuencia de ejecución el “Rojo” Estado Rojo. En el vemos que el estado siguiente
debe ser “Verde” y que la secuencia será: Rojo (TRUE), Ámbar (FALSE) y Verde (FALSE). Tiempo 1000
ms. Estado Ámbar. En el vemos que el estado siguiente debe ser “Rojo” y que la secuencia será: Rojo
(FALSE), Ámbar (TRUE) y Verde (FALSE). Tiempo 1000 ms. Estado Verde. En el vemos que el estado
siguiente debe ser “Ámbar” y que la secuencia será: Rojo (FALSE), Ámbar (FALSE) y Verde (TRUE).
Tiempo 700 ms. 35
36.  36. 4. Escribe los valores de las señales Rojo, Ámbar y Verde en los PINES de salida Digital
correspondientes. Es importante que observemos como las salidas del secuenciador so de tipo
“TRUE/FALSE” por eso debemos convertirlas al tipo de señal admisible por los bloques “Digital Write
Pin” que escriben los valore en las salidas físicas de Arduino.5. Cierra el puerto mediante el bloque
“Close”6. Tratamiento de los errores. Mediante el bloque “Simple Error” Este es el aspecto del montaje de
pruebas 36
37.  37. 7.8. Semáforo AjustableA continuación proponemos u ejercicio de semáforos en el que los tiempos
deencendido de cada lámpara sean ajustables por el operador.Los pines de salida son los mismos y en el
Panel se han incluido los objetos de entradade valor para cada uno de los tiempos: “T. Rojo”, “T. Ambar”
y “T. Verde”.La realización funcional de la aplicación es la misma que la explicada anteriormentecon la
única diferencia de que en cada uno de los tres estados de la estructura “CaseStructure” se ha incluido un
elemento distinto para la designación de tiempo.En las figuras que se muestra a continuación podemos
distinguir cada uno de los bloquede captura de valorFinalmente se muestra el esquema funcional completo
37
38.  38. Este sería el montaje de prueba 38
39.  39. 7.9. Gobierno de una Salida Analógica PWMSabemos que Arduino tiene la posibilidad de programar
algunas de sus salidas digitalescomo salidas del tipo PWM (señal de pulso modulados en amplitud) que
viene a ser una“cuasi” salida analógica. Estos pines para Arduino UNO son (Pines digitales
3,5,6,9,10y11)En este montaje vamos a enviar a la salida PWM del PIN 9 un valor comprendido entre0 y
255El diagrama funcional de esta aplicación muy sencillo.Por ser una salida digital no es necesario
programarla como tal ya que por defecto todaslos los Pines digitales están programados como salidas.Se
comienza con el bloque “Init” fuera del bloqe “While Loop” y dentro se utiliza elbloque “PWM Write Pin”
en el qe designamos que el PIN será el 9.La entrada de señal para este bloque la cableamos de un objeto
del tipo “Slide” al queconfiguramos en la escala 0­255. 39
40.  40. Hemos obviado el bloque de tratamiento de error dado que no es importante.Este es el montaje de
pruebas 40
41.  41. 7.10. Gobierno de una Salida Digital SeleccionadaEl siguiente ejemplo sirve para manejar el gobierno
de salidas desde el Panel de control.Seleccionando previamente la salida correspondiente podremos activar
o desactivar unade las salidas digitales de la tarjeta Arduino.En el Panel se dispone de un selector de PIN y
un interruptor para gobernar la salidaseleccionada. Se ha colocado esta vez un selector de puerto de
comunicación y un LEDindicador del estado de la salida.El diagrama funcional es muy sencillo.Se realiza
la inicialización de Arduino y luego, ya dentro el bloque de control de buclese han colocado un elemento
“Select Digital Pun Mode” para configurar el modo detrabajo de la salida seleccionada y un bloque
“Digital Write Pin” que permite el envíode la señal al PIN seleccionado mediante el bloque “Digital Pin”
que hemos etiquetadocomo “Selección de PIN”Al bloque “Digital Write Pin” se le ha colocado en su
entrada un interruptor quehemos etiquetado como “Activa/Desavctiva” que entrega un valor de tipo
True/False yque convertimos en un valor tipo Integer se ha colocado también el indicador deestado
mediante un LED al que hemos etiquetado como “Estado salida” 41
42.  42. La siguiente imagen muestra un circuito para probar el funcionamiento del programa.Se han conectado
hasta tres diodos leds en las salidas 8, 9 y 10 para probar, pudiéndosecambiar las conexiones. 42
43.  43. 7.11. Escritura/Lectura de todos los CanalesCon este ejemplo vamos a controlar todas las salidas
monitorizando a su vez su estadoen el panel. Para ello disponemos de dos arrays, uno de interruptores y
otros deindicadores leds que nos permitirán las funciones de gobierno de salidas.Se ha puesto también la
posibilidad de leer el estado de los canales analógicos.Aquí recurrimos a dos bloques de función de la
librería Arduino hasta ahora noutilizados: “Digital ReadPort”, “Analog Read Port” y “Digital Write
Port”.Después de inicializar arduino con el bloque “Init”, dentro del bucle de controlcolocamos estos tres
bloques.Lectura del puerto digital: En este caso se trata de realizar la lectura del estado de todaslas
entradas digitales de Arduino. Se realiza con el v¡bloque de la figuraEs muy importante que se sepa que
los canales digitales 0 y 1, PIN 0 y PIN 1 estánreservados para la comunicación con LabVIEW por lo tanto
su lectura obedece altráfico de datos que se esté realizando y en ningún caso se podrán colocar
interruptoresde entrada en esos canales. 43
44.  44. El dato que entrega el bloque es un Array de dimensión 1D. para poder visualizar estosdatos tenemos
que seleccionar un elemento de visualización de tipo Indicador quemostrará todo el array. Bastara, en el
Panel de visualización estirar la caja del indicadorpara mostrar todo el contenido del array. Las salida en
este caso se ha llevado a unindicador que hemos etiquetado con el nombre “Lectura Canales
Digitales”Para leer en un array todo el bloque de entradas analógicas, dese el canal A0 hasta el A5se
recure a este bloque “Analog Read Port” que entrega en su salida un array con losvalores de los 6 canales
analógicos.Para escribir datos en el puerto de salida digital se utiliza el bloque “Digital WritePort”
poniendo en su entrada un valor en forma de Array de datos, mediante el controlque hemos etiquetado
como “Datos a escribir” que saca por su salida.Finalmente se muestra el esquema funcional completo 44
45.  45. Este es el montaje para poder probar el gobierno de salidas. Bastara con cambiar el hilode la salida
para comprobar que funciona. 45
46.  46. 7.12. Control de Servos En este ejemplo vamos a realizar el control de dos servos en uno lo haremos
modificando la velocidad de giro y en otro el ángulo girado En la imagen vemos como quedara el panel de
control. Se podrá seleccionar el número de servos a controlar, cerrar el canal de comunicación y luego
controlar cada uno de los servos. Servo 0: Se controlara la velocidad y el anulo máximo girado Servo 1: Se
controlará el ángulo girado. Para el desarrollo del diagrama funcional tenemos que contar con cuatro
nuevos tipos de bloques de función de la librería Arduino.1. Inicializar la conexión a la placa Arduino. Si
no se conecta a la entrada de recursos VISA del bloque “Init” intentará auto conectarse a la placa Arduino.
Para acelerar la conexión o para conectarse de forma inalámbrica utilizar un recurso VISA constante para
especificar el puerto COM a utilizar.2. Establecer el número de servos a utilizar. Esto crea una matriz de
cero índice de los servos en el Arduino. Después de especificar el número de servos que desea utilizar se
puede hacer referencia a ellos por el número (comenzando con 0).3. Configuración de los dos servos
digitales asignándoles pines I / O (10, 11) 46
47.  47. 4. Escribir un ángulo de 0 servo basado en la repetición del bucle. Servo 0 barre desde los 0 grados en
el ángulo de usuario y la repetición. Este ángulo también se lee desde el servo y se muestra en el panel
frontal.5. Ajuste manualmente el ángulo del servo 2. Este ángulo también se lee desde el servo y se
muestra en el panel frontal.6. Cierra la conexión con el Arduino7. Controlar los errores. Para empezar, una
vez que hemos colocado el bloque de función “Init” se procede a configurar los servos. Primero debemos
decir cuántos son los servos que se van a tener en cuenta: “Set Numbers of servos” se llevará a la entrada
un valor elemento de control que genere un numero de tipo Integer se hace pulsado el botón derecho sobre
la entrada y seleccionando Create­Control en el menú contextual que aparece. Asi creamos la caja de
selección “Numero de servos” A continuación pondremos dos bloques del tipo “Configure Servo” uno
para cada uno e los dos servos que vamos a gobernar. Este objeto debe parametrizarse con el numero de
servo y el pin de salida que utilizaremos para llevar al servo: Servo Number y DIO Pin 47
48.  48. Pondremos: Servo 0 en el PIN 1 Servo 1 en el PIN 11Una vez dentro del bloque de control
controlaremos los servos de la manera siguiente:En primer lugar escribiremos en el Servo 0 mediante el
bloque de función “ServoWrite Angle” mediante un control el “Angulo” a girar en gradosLa señal creada
se lleva a la entrada “Angle” del bloqueEl siguiente bloque “Servo Read Angle” sirve para leer la posición
del Servodevolviendo el valor en “Angle (Degrees)” que se lleva a un indicador analógico“Servo 0”El
Servo 1 se gobernará de la misma forma que el anterior con un bloque de tipo “ServoWrite Angle” cuya
entrada conectamos a un control de tipo analógico al que hemosdenominado “Angulo”Finalmente se
colocará un bloque “Servo Read Angle” que nos indicara la posición delservo y la mostraremos con un
instrumento analógico denominado “Servo 1” 48
49.  49. 49
50.  50. 7.13. Función ANDEl ejemplo que se muestra a continuación implementa una función AND entre
dosentradas PIN 9 y PIN 10 cuya salida gobierna el PIN 12En la figura se muestra el aspecto del Panel.La
implementación como siempre comienza por el bloque “Init” seguido de los bloquesde configuración de
PIN “Set Digital PIN Mode”Dentro del bucle de ejecución se deben colocar dos bloques de lectura de PIN
“DigitalRead Pin” y uno de escritura “Digital Write Pin”. La señal que gobierna este últimobloque se
obtiene de realizar la función AND de las salidas obtenidas de las lecturas delPIN 9 y PIN 10.Los
elementos de visualización de estado se han colocado en las salidas de los tresbloques. No olvidemos que
las señales deben convertirse de Array 1D a Array booleanomediante el bloque de función: 50
51.  51. Para convertirDe Array tipo Número a Array BooleanDe Array Boolean a Array NúmeroFinalmente se
deben colocar el bloque de “Close” y el de “Simple Error Handler”.El esquema de montaje para realizar
las pruebas es el siguiente 51
52.  52. 7.14. Temperatura 1(traducido y adaptado del original “Electronique
Innovate”)http://innovelectronique.fr/2012/05/04/arduino­et­lifa­labview­interface­for­arduino/Este
ejemplo esta sacado de la pagina Web que se indica anteriormente y básicamentesirve para demostrar
cómo es posible representar gráficamente el valor de un canalanalógico en un grafico. En este caso se fija
un tiempo de muestreo de la señal con el finde realizar la lectura del modo que hacen los sistemas de
adquisición de datos reales.En la figura anterior se muestra el aspecto del Panel en el que se hace uso de
unindicador analógico “Knob” etiquetado como “Temperatura instantánea” de tipocircular y un trazador
grafico tipo “Chart” etiquetado como “Evolución de latemperatura en intervalos de tiempos”. Se puede
observar también un slider para ajustarel tiempo de muestreo. Finalmente figura el “Botón” de parada
etiquetado como“Detener” Para realizar la toma de muestras se ha recurrido a un generador de intervalos
que 52
53.  53. ejecuta cíclicamente el contenido del bucle esta funciónse alimenta con una entrada de valor
proporcionada por un “Slide” etiquetado como“Intervalo de medida en s”.Los valores leídos del canal de
entrada analógico “Temperatura instantánea” semuestran en un medidor de aguja a la vez que en el
registrador gráficoLa figura anterior muestra el esquema funcional completo y la siguiente el esquema
demontaje para las pruebas. 53
54.  54. 54
55.  55. 7.15. Control Motor de cc. Velocidad y Sentido(Traducido y adaptado del original “Electronique
Innovate”)http://innovelectronique.fr/2012/05/04/arduino­et­lifa­labview­interface­for­arduino/El siguiente
ejmeplo esta sacado de la pagina Web que se anota al cominzo de la paginay es un valioso ejemplo de
cómo pode controlar un pequeño motor de cc. Haciendo usodel puente de potencia integrado en el CI
L293D que puede controlar dos motores decorriente continua: el L293D (ficha técnica aquí ). L293D
Tabla de funcionamiento del Motor 1 CHIP INHIBIT 1 INPUT 1 INPUT 2 FUNCION H L H Gira a la
Derecha H H L Gira a la Izquierda H L L Para rápida del motor H H H Para rápida del motor L X X Para
rápida del motorEste circuito es relativamente fácil de implementar y lo haremos con un solo motor
quesimplifica aún más el conjunto. Téngase en cuenta que se trata de drivers para elgobierno de dos
motores de corriente continua ( http://www.lextronic.fr/P5073­platine­de­commande­de­moteurs­dc.html
).Descripción de pines para el control del Motor 1:El Pin 1 (CHIP INHIBIT 1) sirve para activar el Motor
1. Si este pin está conectado auna salida de Arduino del tipo PWM, se puede variar la velocidad del motor
haciendovariar el valor de salida de este PIN.Los Pines 2 (INPUT 1) y 7 (INPUT 2) permiten fijar el
sentido de giro del motor o laparada. Los pines 3 (OUT 1) y 6 (OUT 2) son los pines de salida de potencia
del motor. 55
56.  56. Pin 16 (VSS) recibe una alimentación de 5V de la placa Arduino.El pin 8 (Vcc2) está conectado a una
pila de 9 V para asegurar el suministro de potenciadel motor.Para el MOTOR 2 se utilizan los pines del
otro lado del chip (9 al 16)Finalmente, los pines 4,5,12, 13 están conectados a tierra (GND del Arduino y
el polonegativo de la batería). Se obtiene el diagrama de cableado siguiente:Los pines 7 y 8 de la tarjeta
Arduino son salidas digitales para controlar la dirección delmotor, el pin 11 el modo PWM. La dirección
de rotación sigue la siguiente tabla:La parte frontal de este ejemplo es muy simple (un mando único que
evoluciona desde ­100% a 100%, el símbolo utilizado para fijar la dirección de rotación): 56
57.  57. El programa de LabVIEW se pueden presentar de la siguiente manera (la única parteque varía de uno a
captar el otro es el interior de la prueba de la caja: Verdadero yFalso:En la figura anterior se muestra el
esquema funcional de trabajo.Para empezar se inicializa la conexión con Arduino. Seguidamente se
configura el PINdigital 8 como salida sentido Derecha. y el PIN 9 como salida sentido Izquierda.Dentro
del bucle se ha colocado una estructura tipo “Case Estructure” que seencargara del gobierno del motor. La
ejecución del bucle se realiza en intervalos de 200ms.Los casos a tener en cuenta en esta estructura son
dos, que se corresponden con los dosposibles sentidos de giro del motor. 57
58.  58. En el primer caso “True” el sentido de giro es a la Izquierda por lo que debemos sacarlos valores
correspondientes en las salidas PIN 7 y PIN 8 de Arduino. La velocidad serecoge del control tipo numérico
de aspecto circular que hemos etiquetado como“Velocidad y sentido de giro” PIN Arduino Valor PIN
L293D PIN L293D Giro INPUT 1 INPUT 1 PIN 7 0 0 1 Izquierda PIN 8 1En el segundo caso “False” el
sentido de giro es a la Derecha por lo que debemos sacar PIN Arduino Valor PIN L293D PIN L293D Giro
INPUT 1 INPUT 1 PIN 7 1 1 0 Derecha PIN 8 0 58
59.  59. Se han colocado dos indicadores de giro “Derecha” e “Izquierda” para saber en quesentido esta girando
el motor.La conmutación de la estructura “Case Structure” se realiza mediante un operador deltipo
“Greater or Equal To 0”La velocidad se genera en una escala de ­100 a 100 por lo que se debe multiplicar
por ­2.5 para alcanzar los 255 que es el valor máximo que se puede sacar en una salida PWMequivalente a
5v. en el PIN 11Finalmente en la salida del bucle se detiene el motor enviando un 0 a la salida PWMPIN
11 se cierra el puerto y se tratan los errores. 59
60.  60. 7.16. Medida de Temperatura mediante el Bus I2C(traducido del original “Electronique
Innovate”)http://innovelectronique.fr/2012/05/04/arduino­et­lifa­labview­interface­for­arduino/El sensor
de temperatura DS1621 es un componente relativamente común (aquí esta suficha técnica). Sin detallar
demasiado, sólo tendremos que especificar los comandos aenviar al DS1621 para iniciar y hacer una
simple lectura de la temperatura. Los pines 1y dos son las señles SDA y SCL del bus I2C. El Pin 3 (A) no
será utilizado en nuestraaplicación. Los pines 7 (A0), 6 (A1) y 5 (A0) se conectan a tierra para establecer
ladirección de este sensor I2C. El pin 4 es de tierra y el pin 8 + Vcc (5V aquí).La secuencia de
inicialización para integra este elemento en el bus I2C es la que sigue(contamos con que los pines A0, A1
y A2 se conectan a masa GND): 1. Condiciones de inicio (start) 2. Escriba 0 × 90: se selecciona la casilla
A2A1A0 = 000 escribir 3. Escribir 0xac: se escribe en el registro de configuración 4. Escriba 0 × 00:
conversión de la temperatura continua 5. Condición de parada (stop) 6. Esperar 20 ms: escribir eeprom de
la configuración anterior 7. Condiciones de inicio (start) 8. Escriba 0 × 90: se selecciona la casilla
A2A1A0 = 000 escribir 9. Escribir 0xEE son: lanzamiento de la conversión a la temperatura constante 10.
Condición de parada (stop)La siguiente secuencia se usa para leer la temperatura: 1. Condiciones de inicio
(start) 2. Escriba 0 × 90: se selecciona la casilla A2A1A0 = 000 escribir 3. Escribir 0xAA: solicitud de
lectura de la última temperatura la muestra 4. Condiciones de inicio (reinicio) 5. Escriba 0 × 91: se
selecciona la casilla A2A1A0 = 000 read­ 6. Leer todos los 8 bits de la temperatura 7. Leer todos los 8 bits
de la configuración de la temperatura y un NACK! 8. Condición de parada (stop) 60
61.  61. Te das cuenta que no es fácil, pero vamos a tratar de poner en práctica todas lasfunciones de LabVIEW
con Arduino. Dependiendo de la versión de la tarjeta ArduinoUNO tiene el SCL y SDA pines no son el
mismo lugar (ONU Rev2: A4 = SDA, SCL =A5; UNO Rev3: dos pines en un dedicado SCL y SDA). Al
escribir este tutorial tengouna placa Arduino rev2 UNO, el siguiente diagrama de cableado es adecuado
para estaplataforma:El frontal de LabVIEW se produce como sigue: 61
62.  62. Nota: Un indicador que se utiliza para seleccionar la dirección del sensor DS1621 en elbus I2C. Bajo el
título "Datos I2C" es en realidad una forma de tabla de indicadores, sepuede ver los datos leídos del bus
I2C.El diagrama se puede presentar como sigue:En primer lugar para entender cómo trabaja el VI sub I2C
miré a las señales procedentesde la Arduino I2C en un osciloscopio y debo decir que me ayudó. La lectura
deldiagrama de izquierda a derecha: 62
63.  63. 1. La inicialización del bus I2C (TWI en el arduino terminología)2. La inicialización del DS1621.
Primera dirección del componente. La dirección es de 7 bits (MSB primero), los primeros 4 son fijos (ver
la documentación en el 1001), el último 3 están fijados con los pines A2A1A0. En nuestro caso A2A1A0 =
000 por lo que la dirección es 0b1001000 componente en el sistema binario o hexadecimal 0 × 48 o 72 en
decimal. Así que tienes la explicación de los 72 valores en la parte delantera. Entonces usted tiene que
escribir los valores 0xac (172) y 0 × 00 (0): el papel de la primera sub VI "Write I2C".3. Después de la
inicialización. Normalmente se tarda alrededor de diez intervalos de tiempo, con la transmisión de 15 bytes
hacia LabVIEW para el Arduino lleva su tiempo, podemos considerar que la operación se lleva a cabo. Se
escribe el valor de 0xEE son (238). En este punto el DS1621 se inicializa correctamente. 63
64.  64. 4. A continuación, entra en un bucle infinito. La temperatura será solicitada cada 500 ms. Para aplicar
la temperatura final, escribir el valor 0xAA (170).5. A continuación, lea el resultado: aquí el DS1621 tiene
que enviarnos dos bytes, donde el valor 2 en la sub VI "Lee I2C". Este sub VI también es responsable de
hacer el NACK final (verificado con un osciloscopio). Esto produce una matriz 1D con dos cajas que
contienen de 8­bits sin signo. Estos datos se muestran como los datos en bruto en el indicador en el frente
"de datos I2C".6. Debemos tratar a los dos valores proporcionados por el DS1621. Empezamos por la
extracción de los datos de la Tabla VI, en el marco del "índice de matriz". El índice de 0 : 8 MSB del
resultado de la temperatura y el índice de tipo entero firmado 1: 8 LSB de la conversión: en nuestro caso,
este byte tomar dos valores: o bien 128 para indicar es necesario añadir 0,5 ° C o 0.7. A continuación se
recogen las señales y la temperatura real se muestra en el termómetro.8. Esto funciona, pero tenga en
cuenta que no se ocupa de temperaturas negativas. Ese es un ejercicio que se queda sin hacer. Inténtelo
usted. 64
65.  65. 7.17. Diálogo con Arduino Ethernet(traducido del original “Electronique
Innovate”)http://innovelectronique.fr/2012/05/23/aduino­et­lifa­episode­2/No se trata aquí de trabajar con
LIFA sino directamente con el shield Arduino Ethernet.Nos proponemos realizar un ejemplo que permitirá
controlar la temperatura del LED yrecuperar todo por ethernet (incluso a través de Internet).Usamos un
sensor de temperatura LM35 conectado a la entrada A0 y una Salida deLED conectada al PIN 3. Como
LM35 tiene una pendiente de 10 mV / º C y 0 V a 0 º C,la variación de temperatura en un cuarto de grado
dará lugar a una variación de unaspocas decenas de mV. Por lo tanto, aumentará la precisión de la medida
analógica siutilizamos una referencia de tensión de 1,1 V el Arduino. El convertidor analógico adigital es
de 10 bits, se obtiene así un escalón mínimo de 1,1 V / 1.024 = 1 mV (1,0742mV con precisión). Por lo
tanto, se puede medir la temperatura de 0 ° C a 110 ° C quees suficiente. El cableado está presente como
sigue: 65
66.  66. El código de Arduino se muestra a continuación. Se basa enteramente en el "ServidorWeb" ejemplo, es
entonces suficiente para simplificar. El código está comentado así quelea con cuidado!/* Serveur TCP O.
DARTOIS, le 23/05/12 Source directement basée sur lexemple Web Server */#include <SPI.h>#include
<Ethernet.h>// Adresses MAC et IP à changer suivant vos besoinsbyte mac[] = { 0xDE, 0xAD, 0xBE,
0xEF, 0xFE, 0xED };IPAddress ip(192,168,1, 177);// Initialisation de la librairie ethernet// et création dun
objet "Server" qui va accepter// les connexions extérieures à ladresse IP defini plus// haut et sur le port
indiqué (ici 8000)EthernetServer server(8000);void setup(){ Ethernet.begin(mac, ip); // Initialisation de la
pile TCP/IP server.begin(); // Démarrage du serveur pinMode(3,OUTPUT); // Broche 2 en sortie (DEL)
digitalWrite(3,LOW); // Broche 2 à 0 => DEL eteinte analogReference(INTERNAL); // Référence du
CAN à 1,1V}void loop(){ // Attente des connexions et création dun objet client sil y a lieu EthernetClient
client = server.available(); if (client) { // Un client existe while (client.connected()) { // il est connecté if
(client.available()) { // et il a envoyé des caractères char c = client.read(); // on lit le caractère reçu if (c ==
A) digitalWrite(3,HIGH); // si cest A on allume la DEL if (c == a) digitalWrite(3,LOW); // si cest a on
éteint la DEL } // on renvoie au client une chaine de caractère qui représente le résultat de // la conversion
AN (par ex: 236) suivi des caractères CR+LF server.println(analogRead(0)); delay(100); // On ralenti un
peu le flot de données } client.stop(); // Fermeture de la connexion }}Una vez que el código compilado e
instalado en el arduino con su ethershield, vamos ahacer un panel frontal de LabVIEW para controlar el
conjunto. 66
67.  67. El diagrama de bloques de LabVIEW se presenta como sigue: Como se puede ver, el esquema es muy
simple ... es especializado en el LabVIEW VI que lleguemos a ese nivel de simplicidad. Una pequeña
explicación de todos modos: el lado del servidor arduino implementa una pila TCP / IP pero es bastante
fácil hablar en una red ethernet. Que utiliza las direcciones IP y la versión 4 de IP que se puede hacer de
enrutamiento, lo que significa que usted puede poner una caja de montaje detrás de su casa y acceder a
ellos desde cualquier lugar en Internet. El protocolo de transporte TCP se utiliza aquí, es un protocolo de
transporte de datos en modo conectado y confiable. Esto normalmente significa que sus datos siempre
llegarán con seguridad! La pérdida de paquetes será administrado por TCP y no por usted. Como puede
verse, se utiliza TCP como el protocolo de transporte y para hacer el intercambio de datos de trabajo con
"conexiones" de redes. Todo esto va a ser tapado por el VI disponibles en la paleta "Comunicaciones de
datos" y "Protocolos" y "TCP". Para interactuar con el arduino, debe seguir los siguientes pasos:1. VI puso
una "conexión TCP Abrir" y luego configurarlo. En nuestro caso, la dirección IP del arduino es
192.168.1.177 y el puerto de escucha es el 8000. Para ello será necesario que el equipo está en la misma
red que el arduino. Por ejemplo, aquí la dirección IP de su computadora portátil podría ser 192.168.1.15.2.
Una vez que la conexión está abierta, puede enviar datos con el VI "TCP escribir". Toma como entrada de
caracteres o cadenas. Aquí, según el estado de la tecla "Control del LED", le enviaremos el carácter A
(para la luz LED, vea el código arduino) o a del personaje. 67
68.  68. 3. Para recibir datos, se utiliza el VI "TCP Lea" lo llama un "buffer" bytes para almacenar los datos
recibidos (en este caso he puesto 10, incluso si vamos a recibir menos caracteres). En contra de lo que es
importante es el "modo" de operación de este VI. Aquí está en "CRLF": es decir, se espera que el búfer
está lleno para ajustar su salida de los caracteres recibidos, cuando se recibe "CRLF", lo pone en sus
caracteres de salida recibido NO CRLF. Usted puede entender mejor por qué este es el método "println" y
no "impresión" que se utilizó (println añade de forma automática después de los caracteres CRLF que ha
pasado). La cadena recibida se muestra como "raw" en el indicador de "recibido datos". Desea mostrar la
temperatura en un metro, pero debe transformar al resultado de la conversión AD del arduino que hemos
recibido un número. Es el papel de la sub VI "número decimal de la cadena" y se multiplica por el
coeficiente de encontrar la temperatura (quantum = sensibilidad 1074.10­3 y sensor de 10 mV / ° C).
Finalmente mostrar la temperatura en ° C en el metro.4. Cuando se detiene el bucle infinito con botón de
parada correctamente debe cerrar la conexión TCP con el VI "Cerrar conexión TCP". A continuación,
muestra los errores. Pruebe todo y verá que es funcional. Modifique el diagrama de bloques y el código de
Arduino para controlar el LED PWM por ejemplo ... 68
69.  69. 7.18. Lectura de una entrada analógica.(Ejemplo traducido y adaptado del original que figura en la
librería LIFA aportada porNational Instruments)En el siguiente ejemplo se trata de leer el valor de una
entrada analógica de las 6 quetiene Arduino UNO que como sabemos sus valores oscilan entre 0 y 5 v.Se
montara un Panel como el de la figura en el que se muestra un selector para elnúmero de canal “Selección
de Entrada Analógica”. Una ventana de dato numérico enel que se muestra el valor leído y un Botón con el
que se detiene la aplicación y se cierrael puerto de comunicacionesLa construcción de Bloques
Funcionales mostrada en la figura siguiente es muysencilla.Vemos que se colocan los dos bloques Init y
Close que facilitan la configuración de latarjeta y el cierre del puerto respectivamente.En el bucle del
programa (dentro de la recinto “While Loop” se colocara un bloque delectura de canal analógico “Analog
Read Pin” que recoge el valor de la señal del pinque seleccionemos mediante el bloque de “Selección de
Entrada Analógica”La salida de este bloque (valor leído) se llevara por un lado a la caja de texto
quevisualiza el valor “Voltage” . 69
70.  70. Para salir del bucle de ejecución “While Loop” se utiliza un botón “Stop” y a la veztambién se puede
salir si se produce un error mediante el bloque “Status” 70
71.  71. 7.19. Conexión de un Módulo BlikM(Ejemplo traducido y adaptado del original que figura en la
librería LIFA aportada porNational Instruments)En esta aplicación se trata de gobernar un módulo tipo
BlinKM (tricolor) haciendo usode la librería que LIFA incopora para ello “Librería BlinkM” . Modulo
BlikMPara empezar configuramos Arduino como siempe con el modulo “Init” en este caso nole hemos
puesto los conectores de parametros porque suponemos que ya se hancolocado en el SubVI “Init” pulsando
dos veces sobre el bloque se muestra la ventadesde donde podemos designar estos valores. En la figura se
ve. Pulsando dos veces sobre el icono del blorque aparecerá la pantalla vi del objeto de alibrería y vemsos
que se pueden modificar aquí os parametros que por defecto presenta 71
72.  72. No olvimos que el sistema de LabVIEWes capaz de reconocer lo qe tiene conecatdo enel puerto es
decir “autodetectar” la conexión, lo cual ayuda a la configuracion de laaplicación.El siguiente bloqe a
conectar es el que permite hacer constancia de que tenemos unelemento “BlinkM Init” que como sabemos
se comunicara con Arduino a tarves delprotocolo I2C uniendose al bus como master para controlar eñ
componente BlinkMUna vez dentro del bucle lo que debemos hacer es crear la señal “Color” bloque
“RGBTo Color” con la que alimentaremos el bloque “BlinkM GoToRGB”En la siguiente figura venos el
esquema completo que lo cierran, como siempre losbloques “Close” y “Error” 72
73.  73. E la figura siguiente vemos el aspecto de la pantalla Panel en modo edición.El montaje es el de la
figura. 73
74.  74. 7.20. Lectura de un valor analógico continuamente tomando muestras(Ejemplo traducido y adaptado
del original que figura en la librería LIFA aportada porNational Instruments)En este ejemplo se trata de
realizar la medida de una señal de entrada toamndo muestrasde su valor con una frecuencia de mutreo que
podemos definir mediante una objeto deasignación de valor “Frecuencia de Muestreo (Hz)”.Una vez
realizada la incializacion de la tarjeta debemos colocar el bloque “Continuousadquisition” en el que sus
parámetros de configuración son dos:“Pin Entrada Analogica” Designa el pin por donde
leeremos“Frecuencia de Muestreo (Hz)” que permite asignar la frecuencia con la que setomaran las
muestrasDentro del bucle se colocara la función “Continuous Adquisition Sample” que es la quedevuelve
el valor leído en su salida Date que se llevara a un objeto de representacióngrafica “Waveform Charts”El
botón “Stop” sirve para cerrar el puerto y salir de la aplicación. 74
75.  75. Montaje de pruebas 75
76.  76. 7.21. Adquisición de un número determinado de muestras de un canal analógico.(Ejemplo traducido y
adaptado del original que figura en la librería LIFA aportada porNational Instruments)Se trata de leer un
numero determinado de muestras que se tomaran a una velocidad(frecuencia) dada y posteriormente
mostrarlas gráficamente.El núcleo de nuestra programa será el bloque “Get Finite Analog Sample” que
realizalas funciones p`ropias de adquisición de las muestras y su entrega a un bloque derepresentación
grafica.Observamos en este ejemplo que no se ha colocado un bloque tipo While Loop” dadoque una vez
recogidas y mostradas las muestras el programa se debe detener. 76
77.  77. Montaje del prototipo 77
78.  78. 7.22. Medida de luz(Ejemplo traducido y adaptado del original que figura en la librería LIFA aportada
porNational Instruments)Se trata de realizar una aplicación para medir la cantidad de luz del ambiente.Para
ello recurrimos a un bloque de función de la librería LIFA que realiza justo estatarea. Bloque “Phocell
Read”Los Parámetros que hemos de configurar en este bloque se muestra n la figuraEl pin a la que
conectaremos la fotocélula “Photcell Pin” la tensión de referenciamáxima que colocamos en este montaje,
normalmente es 5v. sacada de la propia tarjetaArduinoLa salida del bloque es el valor equivalente a la luz
medida comprendido entre 0 y 100En este montaje la salida del bucle se ha colocado mediante un botón
“Stop” y tambiénsi se produce un evento de “error”En la figura siguiente se muestra el aspecto de la
ventana “Panel” en modo ejecución 78
79.  79. Montaje de pruebas 79
80.  80. 7.23. Control de un diodo LED Tricolor (RGB)(Ejemplo traducido y adaptado del original que figura
en la librería LIFA aportada porNational Instruments)Vamos a controlar un diodo del tipo tricolor RGB.
Para ello utilizaremos dos bloque dela librería Arduino: “RGB LED configure” y “RGB to Color” .El
aspecto del Panel es el de la figura siguiente. Vemos que hay tres Slider dedesplazamiento que suministran
valores de tipo Integer (0 – 255) correspondientes acada uno de los tres colores de este tipo de dispositivo
luminoso.El Bloque “RGB LED Configure” permite designar los pines por dinde sacaremos elvalor
analógico tipo PWM para cada uno d elos pines RGB del LED.Red Pin PIN 6Green Pin PIN 5Blue Pin
PIN 3 80
81.  81. No olvidemos que deben ser pines del tipo PWM (en Arduino UNO son los pines3,5,6,9,10,11)Una
vez dentro del bucle se colocara un bloque de escritura para sacar los valores porcada una de las salidas:
“RGB LED Write”. La información de los PIN de las salidasse recoge del bloque de configuración anterior
“RGB LED Pins”La entrada “Color” de este bloque de escritura la recogemos a través del bloque “RGBto
Color” que a su vez tiene como entradas cada uno de los valores que colocamos enelos sliders de entrada
de color (Rojo, Azul y Verde) salida de este bloque nos permiteSe ha colocado un indicador de color en la
salida de este bloque para mostrarnos unamuestra del color que estamos sacando por el LED RGB:
“Color”A continuación mostramos el esquema funcional completo. 81
82.  82. Este sería el montaje del prototipo de pruebas 82
83.  83. 7.24. Medida de temperatura(Ejemplo traducido y adaptado del original que figura en la librería LIFA
aportada porNational Instruments)Vamos a realizar un ejemplo en el que utilizaremos un bloque especifico
d ela libreríaLIFA: “Thermistor Read”.La parametrizacion de este bloque consiste en definir:Thermistor
AI Pin Canal de entrada AnalógicoPaired Resistance Resistencia a colar en serie con el sensorVcc Valor
de la tensión de referencia (normalmente 5 v.)Units Permite seleccionar las unidades de escla (ºC, ºF y
ºK)Estos valores los pondremos, en esta ocasio0n, a través del Panel de visualización.La visualización del
valor analógica (temperatura) leído la mostraremos con una “barrade color” Temperatura y un cuadro
numérico.A continuación mostramos el aspecto del Panel de visualización en modo ejecución. 83
84.  84. Este es el aspecto del diagrama de bloques funcional. Se ha cableado la señal de rrorpara que permita
salir del bucle.No olvidemos que el control “Init” tiene unos valores por defecto, si no nos interesanestos
podemos cambiarlos pulsado dos veces sobre el bloque.Este es el monjate real para la comprobacion del
ejercico. 84
85.  85. 7.25. Manipulación de un Mando Joystick.(Ejemplo traducido y adaptado del original que figura en la
librería LIFA aportada porNational Instruments)En numerosas aplicaciones realizadas con Arduino se
utiliza un joystick, por esopresentamos este ejemplo en el que se utilizan las librerías de tratamiento de
estecomponente.Se rata de leer las señales generadas por el mando y redireccionarlas a un bloque
decontrol de LED RGB.La aplicación lo que hará será controla el color del LED RGB en función de
lasposiciones del joystick.En primer lugar, fuera del bucle de control se pondrá el bloque “Init” y los dos
bloquede configuración del LED RGB y del joystick: “RGB LED Configure”Se designaran los PIN para
los colores Rojo, Verde y AzulRed Pin: PIN 6Green Pin: PIN 5Blue Pin: PIN 3La salida de este
componente se deberá llevar luego al bloque “RGB LED Write”Seguidamente configuramso el joystick
para lo cual designamosLos pines para cada eje y para el botón.Horizontal Axis AI Pin: 2Vertical Axis AI
Pin: 3Select DI Pin: 4 85
86.  86. En este caso igual que en el anterior este bloque posee una salida que contiene lainformación de
configuración del joystick que deberá trasladarse al bloque“Thumbdtick Read”Dentro del bucle de control
colocamos en primer lugar el bloque “Thumbdtick Read”que lee la posición y estado del boton del joystick
y lo saca en sus salidas HorizontalAxis, Vertical Axis y SelectLa información que entrega este control, se
lleva a un bloque convertidor “ThumbstickValue to Angle” que convierte los valores “x” e “y” en un valor
“angulo” que entregaa un bloque que convierte este valor en un color “Angle Mag to RGB”De este bloque
utilizamos las salidas “Degrees” y “Magnitude” para atacar el siguientebloque que las convertirá en un
color, salida “RGB Color”Finalmente esta señal se llevará a un bloque de salida RGB Color “RGB LED
Write”El LED RGB se configurará escribiendo los pines de salida “RGB Color” en el pin deentrada
“Color” del bloque “RGB LED Write” 86
87.  87. A continuación se muestra el diagrama completo de conexionado de bloques. Básicamente los pasos
son los anotados en la imagen siguiente:1. Inicializar la conexión con el Arduino con la tasa de baudios de
115200 DEFAULT.2. Configuración de LED RGB3. Configuración de pines para el uso con el joystick4.
Leer los valores de joystick (horizontal y vertical del eje y de selección)5. Convertir los valores de joystick
con el ángulo y la magnitud6. Convertir el ángulo y la magnitud de color y la intensidad7. Escribe el color
de LED RGB8. Cierra la conexión con Arduino9. Controlar los errores Este sería el aspecto de la pantalla
Panel en modo ejecución. 87
88.  88. Esquema de conexiones 88
89.  89. 7.26. Generador de Tonos(Ejemplo traducido y adaptado del original que figura en la librería LIFA
aportada porNational Instruments)En este ejemplo vamos a probar la función “Tone” de la librería de
ArduinoEsta librería se encarga de generar una señal de frecuencia variable en la que es posibletambién
variar la duración. Es decir genera tonos de duración y frecuencia variable.Probaremos su funcionamiento
generando un tono a través de uno de los PIN de salidadigital seleccionable con un control numérico desde
el Panel en el que ademáspodremos variar frecuencia y duración. Vemos en la siguiente figura el aspecto
deldiagrama de bloques funcional.Se ha colocado dentro del bucle de ejecución el bloque “Tone” y en esta
ocasión se hacableado la señal de error para que esta pueda también cerrar el bucle y detener
elprograma.En la siguiente figura se el Panel.No olvidemos que en los PIN 0 y 1 no se podrá sacra tono
alguno dado que estos estánocupados para la comunicación con LabVIEW. 89
90.  90. A continuación mostramos el conexionado para realizar las pruebas 90
91.  91. ANEXO:Material Básico A modo de sugerencia describimos el Kit que en la actualidad vende
Sparkfun Electrónica https://www.sparkfun.com/products/11225 Arduino+LabVIEW Bundle 49.95$
(agosto 2012) Caracteristicas del Kit Arduino + Paquete de LabVIEWDEV­11225 RoHSDescripción:
¿Alguna vez un nuevo sensor de SparkFun y desea probarlo rápidamente?Tal vez usted quiere hacer un
mayor procesamiento de los datos que el Arduino puedeproporcionar. Imagínese cómo sería tener esos
datos a su computadora y tener una GUI(interfaz gráfica de usuario) para su sensor de pocos minutos de
abrir la caja roja.NI LabVIEW es un entorno de programación gráfica utilizado por millones deingenieros
y científicos para desarrollar la medición sofisticado, prueba, y los sistemasde control mediante intuitivos
iconos gráficos y cables que se asemejan a un diagramade flujo. A través de la interfaz de NI LabVIEW
para Arduino Kit de herramientas, queahora pueden aprovechar todos los beneficios de la programación
gráfica de LabVIEWde NI para sus proyectos de Arduino.La LIFA (Interfaz de LabVIEW para Arduino)
caja de herramientas es una descargagratuita que permite a un desarrollador de LabVIEW para obtener
fácilmente los datoshacia y desde el microcontrolador Arduino cada vez más popular. La arquitectura
básicadetrás de esto es que hay un motor de E / S programada para el Arduino que esperaórdenes de serie
de LabVIEW y responde con los datos solicitados o de acción.Este kit incluye un R3 Arduino Uno y el
LabVIEW Student Edition DVD paraWindows y MacOS. Sólo tiene que cargar el firmware de código
abierto a la incluidaUno Arduino, conéctelo a su computadora e instalar el software LabVIEW.Nota: El
envío a Canadá y los EE.UU. solamente. Lo sentimos mundo. 91
92.  92. Nota: Aunque las imágenes muestran a la ahora obsoleta LabVIEW 2010, que son elenvío de 2011. La
foto de Arduino no es también la R3 a pesar de que este paqueteincluye ahora la última Arduino Uno R3.
Imágenes de los productos se actualizarán parareflejar este cambio.Características: Utiliza USB, XBee, o
enlaces Bluetooth para la comunicación. Tasa de 150 Hz con conexión de cable (50 Hz Wireless). Le da
acceso a analógica de Arduino, digitales, PWM, I2C, SPI y la funcionalidad en el equipo. Completamente
de código abierto del firmware (E / S del motor en el Arduino) y el marco de LabVIEW. 92
93.  93. Librerías del Kit LIFA de LabVIEW para ArduinoDescripción de controles del panel frontal de la
Librería Arduino Permite seleccionar un Pin de Entrada Analógica Permite seleccionar un Pin de Entrada
Salida Digital Permite designar un Pin como Entrada o como Salida Selecciona el tipo de Tarjeta
Selecciona tipo de Byte Factor de División de la frecuencia de Reloj Modo de dato Permite seleccionar el
puerto con el que nos comunicaremos con Arduino 93
94.  94. Descripción e Librería Arduino del móduloDiagrama de Bloques de LabviewModulo de Inicio de la
Tarjeta ArduinoEste módulo es imprescindible n cualquier configuración que hagamos, permiteconfiguar
las características de Arduino. Por defecto viene con los parámetros que seindican en la figura anterior.Los
conectores “Arduino Resorce” y “error out” se deben cablear a todos loselementos que se coloquen en el
diagrama con el fin de que los parámetros deconfiguración se transfieran a todos los bloques. 94
95.  95. Módulo de cierre de la conexión con el puerto. Funciones “low level”Lectura de una entrada analógica
de Arduino.Recoge de entrada el número de canal en formato INTEGER y devuelve de salida elvalor leído
en formato DBL. 95
96.  96. Lectura del puerto analógico.Devuelve el valor leído en el Puerto AnalógicoConfigura un PIN digital
como Entrada o salida. Los parámetros de entrada serán elnúmero de puerto y el modo de trabajo
(I/O).Lectura del valor en un pin digital. Lee el valor de una entrada digital designadamediante el
parámetro “Digital I/O” y saca el valor en su salida “Value”. 96
97.  97. Lectura del puerto digital. Lee el puerto digital completo y lo saca en el terminal“Digital Port” en
formato 1D ArrayEscritura en PIN Digital.Escribe un valor digital (0 o 1) “Value”, en el Pin indicadoen
“Digital I/O Pin”Escritura en puerto digital: Escribe de una sola vez los valores a los 14 PINs deentrada
salida digitales de la tarjeta Arduino. Primero debe configurarse como salidadigital el conjunto de pines
Digitales 97
98.  98. Escritura en salida Analógica PWM: Escribe un valor entre 0­255 en la salidaespecificada en el
PinConfigura3 PIN como salida PWM: Se indican los PINs y devuelve el valor de lospuertos
configuradosEscribe el puerto PWM: Controla tres salidas PWM cuyo número de PINs los recogedel valor
PWM PINs. Los valores de cada señal se suministran en los pines de entradaPW 0, PWM 1 y PWM 2 98
99.  99. Genera un Tono: Genera un tono de frecuencia y duración variables en el PINdesignado mediante
Tone DO Pin Librerías para implementación Bus I2C 99
100.  100. Librería SPI 100
101.  101. 101
102.  102. Librería Analog SamplingAdquisición continua de datos: Permite activar la lectura de datos en el de
una entradaanalógica teniendo la posibilidad de asignar el tiempo de muestreo en la lecturaDetiene la
adquisición continua de los datosAdquisición de un numero de muestras de valor: Lee un determinado
numero deveces (muestras) un canal de entrada analógica con una frecuencia de barridodeterminada por el
usuario. 102
103.  103. Recoge un numero finito de muestras de datos: Recoge un determinado número demuestras por un
Pin analógico devolviendo un array de datos con los valores Librería SensoresEn esta librería se ofrece una
amplia colección de bloques de función que permiten laconfiguración de la conexión de señores a la tarjeta
Arduino 103
104.  104. Lee el valor de un sensor de Temperatura: Permite la configuración del PIN en elque se colocara el
sensor así como el valor de la resistencia divisora de tensión queconectemos con el fin de realizar el
escalado de la medida y también la posibilidad deestablecer una tensión de referencia distinta a los 5 vcc
que por defecto toma. Devuelveun valor de tipo Double equivalente a la temperatura medida.Lee el valor
de un sensor de Luz: Permite la configuración del PIN en el que secolocara el sensor así como el y también
la posibilidad de establecer una tensión dereferencia distinta a los 5 vcc que por defecto toma. Devuelve un
valor de tipo Doubleentre 0­100 equivalente a la cantidad de luz medida. 104
105.  105. Lee el valor de un sensor de Infrarrojos: Permite la configuración del PIN en el quese colocara el
sensor. Devuelve un valor de tipo Integer equivalente a la temperaturamedida.Configura un LED RGB: Se
designan los pins para salida de cada colorEscribe en un LED RGB: Se escribe el valor Color sobre un led
RGB en los pinesdesignados RGB LED Pins 105
106.  106. Configura un display de siete segmentosEscribe un carácter en un display de siete segmentos.Escribe
un String en un display de siete segmentos 106
107.  107. Configura un joystick: Se designan los pines analógicos para el eje X y el eje Y asícomo la entrada
digital para el botón se selección. Genera una señal de salida en formade clauster de 3 elementosLee
valores de un joystick: Lee los valores y los presenta en las salidascorrespondientes a los ejes X e Y y
Selección 107
108.  108. Librería BlinkMEsta librería sirve para el manejo de elementos luminosos tipo BlinkM Librería
Stepper MotorLibrería para control de motores paso a paso 108
109.  109. Configura motor paso a paso: Especifica una salida para conectar un motor.Escribe valores sobre un
motor paso a paso: Escribe el número de pasos a girar y lavelocidad de generación de pasos, así como el
motor a activarConfirmación de funcionamiento del motor paso a paso: Indica en su salida elnúmero de
pasos que faltan para alcanzar la consigna dada. 109
110.  110. Espera la consecución de todos los pasos consignados para el giroCierra el gobierno del motor paso a
paso 110
111.  111. Librerías de Servos 111
112.  112. 112
113.  113. Librería LCD 113
114.  114. Librería Utilidades Ejemplos 114

Recomendado
More from this author

Curso labview 2014
José Ordóñez
7,127

20 Magnificos proyectos para ARDUINO
dave
26,208
Arduino labview
Jose Limon
2,877

Ejercicios de Arduino resueltos Grupo Sabika
Johnny Parrales
4,976

Online Course: Arduino meets LabVIEW
NFI ­ Industrial Automation Training Academy
1,499

Proyecto domotico con Arduino
Manuel Guangasi
8,887

Arduino practicas
Rafael Eduardo G
8,112

Arduino Full Tutorial
Akshay Sharma
4,564

Curso introducción a arduino
FabLabLeon
9,425

Curso intensivo de arduino createc3 d marzo 2014
Jose Antonio Vacas
1,634

Fisica ii es_(modulo_4)
Alberto Sanchez
149

logico
Alberto Sanchez
573

ESPAÑOL
English
Français
Español
Português (Brasil)
Deutsch
Inglés
Español
Portugues
Français
Deutsche

Acerca de
Carreras
Dev & API
Prensa
Blog
Términos
Privacidad
Derecho de autor
Soporte

LinkedIn Corporation © 2015

×
Compartir este documentoTap To CloseInsertar este documentoTap To CloseMe gusta este documentoTap To
CloseLe ha gustado este documentoTap To CloseGuardar este documentoTap To Close

You might also like