APLICACIÓN EN ARDUINO CON COMUNICACIÓN SERIAL “Sistema de control de sensores, actuadores y periféricos con un interfaz HMI de control mediante una comunicación serial bidireccional con la tarjeta de adquisición Arduino” Nicolás Jácome Fernando García Sebastián Méndez Mikael Montenegro Universidad de las Fuerzas Armadas ESPE Electrónica en automatización y control Quito, Ecuador Resumen—Este documento resume en su totalidad el desarrollo de una aplicación en comunicación serial con Java para el control un sistema de sensores, actuadores y periféricos en una tarjeta de adquisición Arduino, implementando un código fuente, mediante lenguaje de programación representado por una interfaz gráfica interactiva.
I. INTRODUCCION Se desea implementar una comunicación serial con Java desde un Arduino para controlar un sistema de sensores, actuadores y periféricos, en el cuál una Niquelina se controla su encendido y apagado, así como también del encendido y apagado de un ventilador, estos datos se leen mediante un sensor de temperatura LM45, y se implementa un software con una interfaz gráfica, donde esta permite setear una temperatura a la cual el sistema debe acercase o mantenerse mediante un controlo de activación, además muestra visualmente en una gráfica el cambio de temperatura en tiempo real Es sistema posee una opción de control por medio de un teclado matricial y la información se presenta de forma resumida en un LCD en todo el proceso. La comunicación serial bidireccional será aplicada con una tarjeta de adquisición Arduino.
permiten enlaces seriales de señales TTL en distancias de 30 metros en interiores, 100 metros en exteriores con línea de vista y hasta 1.5 Km con los módulos Pro. Estos módulos XBee utilizan el protocolo IEEE 802.15.4 mejor conocido como ZigBee. Este protocolo se trata en implementar redes de sensores. El objetivo es crear redes tipo mesh que tengan las propiedades de auto-recuperación y bajo consumo de energía. Estas se pueden aplicar en diferentes aplicaciones como Entretenimiento de casa y control, hogar prevenido, servicios móviles, edificios comerciales y plantas industriales. Este módulo XBee es montado sobre una placa Arduino y viene configurado con un identificador de red personal, una tasa de transferencia de 9600 baudios, con datos de 8 bits, sin paridad y 1 bit de paro. Cada XBee Shield tiene un par de jumpers para definir si la comunicación serial se realiza hacia el puerto USB o hacia el módulo XBee. Al Programa XBee se puede realizar de 2 maneras utilizando el programa Hyperterminal en Windows o el Serial Monitor que viene integrado en el entorno de programación de Arduino, se debe establecer que para la conexión a la computadora la placa Arduino debe ser sin el microcontrolador ATMEGA168, ya que se puede directamente interactuar vía USB con el módulo XBee. El fin de esta investigación es la utilización de los módulos de XBee para crear una comunicación serial inalámbrica entre una computadora y un Arduino. Comunicación Bluetooth entre Arduino UNO y Android.
I. ESTADO DEL ARTE Comunicación Arduino + XBee En la publicación realizada por School of Electrical and Electronic Engineering Universiti Sains Malaysia. (YF Solahuddin y W. Ismail, 2014) Nos habla acerca de la interconexión entre un Arduino y Xbee donde este módulo
En la investigación publicada por la Universidad Politécnica de Valencia. (Fidel Biendicho Lletí, 2015) Expresa sobre una implementación entre un módulo Bluetooh en Arduino con Android ya que se establece como una comunicación inalámbrica de forma serial. Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que posibilita la transmisión de voz y datos entre diferentes dispositivos
(Arduino) mediante un enlace por radiofrecuencia en la banda ISM de los 2.4 GHz, Su objetivo facilitar comunicación entre equipos móviles, eliminar cables y conectores y facilitar la sincronización de datos entre equipos personales implementación. El módulo más frecuentes es el HC-06 y HC-05 que son muy económicos y están disponibles independientes o en modo SHIELD y para zócalo XBEE. Como el módulo BlueTooth es básicamente un nodo BT conectado a un interface serie, se estable una conexión en principio para conectar los pines RX y Tx ya qua son los de comunicación. Básicamente en Android ofrece un programa con botones y deslizadores, más un esquema de programa Arduino que se usa para enviar y recibir comandos de una forma presentable, se encuentra en el sistema como ArduDroid. El objetivo de la publicación es indicar el proceso de comunicar el Arduino con Bluetooh mediante Android el cual se maneja de forma serial y se utiliza un aplicación para control dicha aplicación. II. DEFINICION Arduino es una plataforma de prototipos electrónica de código abierto (open – source) basada en hardware y software flexibles y fáciles de usar, consta de una placa principal de componentes eléctricos, donde se encuentran conectados los controladores principales que gestionan los demás complementos y circuitos ensamblados en la misma. Además, requiere de un lenguaje de programación para poder ser utilizado y configurarlo a nuestra necesidad, Arduino también simplifica el proceso de trabajo con micro controladores, ya que está fabricada de tal manera que viene “pre ensamblada” y lista con los controladores necesarios para poder operar con ella una vez que la saquemos de su caja III. HARDWARE Arduino está constituido en el hardware por un micro controlador principal llamado Atmel AVR de 8 bits, es el encargado de realizar los procesos lógicos y matemáticos dentro de la placa, además de controlar y gestionar los recursos de cada uno de los componentes externos conectados a la misma. Consta además de una amplia variedad de sensores eléctricos como cámaras VGA, sensores de sonido, seguidores de línea, botones de control de sensores, e incluso, otras placas de micro controladores (mejor conocidos como Shields), que pueden adaptarse fácilmente gracias a que Arduino cuenta con entradas de pines analógicos y digitales para integrar estos componentes sin necesidad de alterar el diseño original de esta placa. También cuenta con la ventaja de tener entre sus elementos principales puertos seriales de entrada / salida (input / output), lo que le permite conectarse por medio de un cable USB a una computadora para poder trabajar con ella desde nivel software, ya que es dónde se le darán las “ordenes” que ejecutarán cada uno de los componentes conectados a la placa.
IV. SOFTWARE Arduino, no sólo son componentes eléctricos ni una placa de circuitos, sino que además, también es una plataforma que combina esto con un lenguaje de programación que sirve para controlar los distintos sensores que se encuentran conectados a la placa, por medio de instrucciones y parámetros que nosotros establecemos al conectar la placa a un ordenador. Este lenguaje que opera dentro de Arduino se llama Wirirng, basado en la plataforma Processing y primordialmente en el lenguaje de programación C / C++, de este lenguaje derivan otros más que son muy utilizados en el ámbito de Ingeniería y desarrollo, como C#, Java, BASIC, Php, Phytom, JavaScript, Perl, entre otros más; es decir que Arduino soporta varios lenguajes de programación de alto nivel derivados de C, siendo esta una ventaja para los diseñadores que trabajan en varios o en un sólo entorno de desarrollo de programación. Otra ventaja es que este software puede descargarse desde el sitio web oficial de Arduino, ya que opera bajo licencia libre y está disponible a todo público.
V. DIAGRAMA DEL BLOQUE DEL SISTEMA Siguiendo el diagrama de bloques establece el proceso de interacción de Arduino con los dispositivos mediante una comunicación serial la cual es el USB para finalmente realizar una aplicación de control el sistema.
ARDUINO
COMUNIC AIÓN SERIAL (BIDIRECC IONAL) USB
CODIGO FUENTE
SENSOR (LM45)
INTERFAZ (SOTWARE) GUI en JAVA
APLICACIÓN DEL SISTEMA
VENTILADOR NIQUELINA LCD Fig 1: Diagrama de Bloques
II. ARQUITECTURA DEL SISTEMA
A. Arduino
Arduino es una plataforma de código abierto utilizada para la construcción de proyectos de electrónica. Arduino consiste en una placa de circuito programable física (a menudo denominada microcontrolador) y una pieza de software, o IDE (Entorno de desarrollo integrado) que se ejecuta en su computadora, que se usa para escribir y cargar códigos de computadora en la placa física [3]. B. USB
usuario pueda programar 8 caracteres propios y permite dos configuraciones de conexión para 8 y 4 bits en el manejo de datos e instrucciones de control [6]. III. DESARROLLO DE LAS APLICACIONES
REFERENCIAS
Universal Serial Bus (USB) es una comunicación de bus estándar utilizado para conexión, comunicación y para suministro de energía entre PC y varios otros dispositivos integrados. USB usa 4 líneas: potencia, tierra y un par trenzado D +/líneas de datos usando codificación NRZI. USB conectores están diseñados de una manera que el suelo y la potencia debe ser aplicada antes de la conexión de señal. El puerto USB funciona a 5 voltios [4]. Ventajas de usare el puerto USB incluye una única interfaz para muchos dispositivos y también configuración automática. Sin energía externa se necesita suministro y los dispositivos pueden extraer hasta 500 mA de la PC.
[1] YF Solahuddin y W. Ismail. (5 de 6 de 2014). IEEE. Obtenido de http://ieeexplore.ieee.org/document/6868379/
C. Sensor de Temperatura LM45
[4] Computer-solutions.co.uk, 'USB - a brief tutorial for
La serie LM45 son sensores de temperatura de circuito integrado de precisión, cuya tensión de salida es linealmente proporcional a la temperatura Celsius (centígrados). El LM45 no requiere ninguna calibración o recorte externo para proporcionar precisiones de ± 2 ° C a temperatura ambiente y ± 3 ° C en un rango de temperatura completo de -20 a + 100 ° C. Se garantiza un bajo costo mediante el recorte y la calibración en el nivel de la oblea. La baja impedancia de salida del LM45, la salida lineal y la calibración inherente precisa hacen que la interfaz para la lectura o el circuito de control sea especialmente fácil [5]. Se puede usar con una sola fuente de alimentación o con suministros más y menos. Como extrae solo 120 μA de su suministro, tiene un auto calentamiento muy bajo, menos de 0.2 ° C en el aire. El LM45 está clasificado para operar en un rango de temperatura de -20 ° a + 100 ° C. D. LCD Es una pantalla de cristal líquido que consta de dos líneas de visualización de 16 caracteres cada una, donde cada caracteres está conformado por una matriz de caracteres de 5x7 puntos. El circuito integrado controlador de este LCD es el Hitachi 44780. Soporta caracteres en el estándar ASCII, caracteres japoneses, griegos y símbolos matemáticos, desplaza los caracteres en sus líneas, ya sea a la izquierda o la derecha, su memoria soporta 40 caracteres por línea, además de movimiento del cursor y cambio de aspecto, permite que el
[2] Fidel Biendicho Lletí. (6 de 7 de 2015). UNIVERSIDAD
POLITECNICA DE VALENCIA. Obtenido de https://riunet.upv.es/bitstream/handle/10251/57549/Memo ria.pdf?sequence=1osi. [3] Rosi. (17 de mayo de 2013). caracteristicas de arduino.
Recuperado el 09 de noviembre de 2017, de http://www3.gobiernodecanarias.org/medusa/ecoblog/ralv gon/files/2013/05/Caracter%C3%ADsticas-Arduino.pdf
embedded engineers', 2015. [Online]. Available: http://www.computersolutions.co.uk/info/Embedded_tutor ials/usb_tutorial.htm. [Accessed: 04- June- 2014]. [5] Texas Instruments. (2 de 2013). LM45 SOT-23 Precision
Centigrade Temperature Sensors. Obtenido de http://www.ti.com/lit/ds/symlink/lm45.pdf [6] Hitachi. (s.f.). LM016-LM016XML. Obtenido de
http://www.academia.edu/9289390/Visualizador_LCD_L M016L