Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arduino-Java.
Brian Alexis Aquino Andrade, José Juan Arteaga de Luna, Paola Berenice Díaz Fino, Israel García Cota,Víctor
Ricardo Izquierdo Domínguez, Leticia Esmeralda López Álvarez, Stephano Lozano Barba, Diego Sánchez Narváez.
Ingeniería en Electrónica, Universidad Politécnica de Aguascalientes
Aguascalientes, México
UP120271@alumnos.upa.edu.mx
UP120184@alumnos.upa.edu.mx
UP120355@alumnos.upa.edu.mx
UP120006@alumnos.upa.edu.mx
UP120254@alumnos.upa.edu.mx
UP110455@alumnos.upa.edu.mx
UP120011@alumnos.upa.edu.mx
UP120021@alumnos.upa.edu.mx
Abstract- This document presents the work realized to con simples modificaciones de C++, pero después se desarrollaría
establishing the communication between an Arduino UNO and el lenguaje Oak que posteriormente se llamaría Java, el cual
a user, using Java Programing. Using the Integrated Circuit tomaría su nombre puesto a que bebían café mientras la idea surgía,
MAX232 the communication between the computer or the user siendo JAVA un tipo de café asiático.
and the data that the Arduino is giving. With the LM35 is
possible to read temperature or heat, this is de device that goes Fue hasta 1994 que el lenguaje Java empezó a formar parte de un
to the Arduino and give useful data to the user. Using NetBeans prototipo Hot-Java, pero fue en enero de 1995 cuando Sun forma
and different libraries for the Java Programing to make the la empresa Java Soft para dedicarse al desarrollo de productos
communication in two different ways, a serial one and by USB. basados en la tecnologías Java, y así trabajar con terceras partes
para crear aplicaciones, herramientas, sistemas de plataforma y
servicios para aumentar las capacidades del lenguaje.
I.-Introducción
El compilador utilizado en este proyecto fue NetBeans IDE que
Este documento es el resultado del proyecto realizado por permite que las aplicaciones sean desarrolladas a partir de un
un grupo de estudiantes de la carrera de Ingeniería en Electrónica, conjunto de componentes de software llamados módulos. Un
y muestra el proceso realizado para la obtención de datos de una módulo es un archivo Java que contiene clases de java escritas para
plataforma electrónica Arduino y un sensor de temperatura LM35 interactuar con las APIs de NetBeans y un archivo especial
para que el usuario sea capaz de leer el cambio en la temperatura (manifest file) que lo identifica como módulo. Las aplicaciones
en una forma de JAVA , este tipo de comunicación se logra a través construidas a partir de módulos pueden ser extendidas agregándole
del circuito integrado MAX232 y una conexión Ordenador- nuevos módulos. Debido a que los módulos pueden ser
Arduino de tipo Serial y USB, esto gracias a las distintas librerías desarrollados independientemente, las aplicaciones basadas en la
utilizadas en la programación. plataforma NetBeans pueden ser extendidas fácilmente por otros
desarrolladores de software.
II.- Sustento Teórico
JAVA
Arduino UNO
Java es un lenguaje de programación orientado a objetos
desarrollado por Sun Microsystems a principio de los años 90´s. En Arduino es una plataforma de electrónica abierta para la creación
Diciembre de 1950 Patrick Naughton, ingeniero de Sun de prototipos basada en software y hardware flexibles y fáciles de
Microsystems, reclutó a varios colegas para trabajar sobre un usar.
nuevo proyecto conocido como "El proyecto verde". El fin era
desarrollar un nuevo lenguaje de programación el cual se Arduino puede tomar información del entorno a través de sus pines
encargaría del control de los nuevos dispositivos que por el de entrada de toda una gama de sensores y puede afectar aquello
momento empezaban a emerger. El equipo del proyecto verde que le rodea controlando luces, motores y otros actuadores. El
necesitaba un lenguaje que fuera fácil de aprender, y empezaron Microcontrolador en la placa Arduino se programa mediante el
lenguaje de programación Arduino (basasdo en Wiring) y el llamo SISTEMA A que no era otra cosa que el primer
entorno de desarrollo Arduino (basado en Processing). Microcontrolador.
La plataforma utilizada en este proyecto fue el Arduino UNO, En consecuencia definimos así a un Microcontrolador; como un
basado en el circuito Microcontrolador de la familia ATmega328. procesador con su sistema mínimo en un chip (incluye memoria
Con 14 pines de entrada y salida digital de los cuales 6 se pueden para programa y datos, periféricos de entrada / salida, conversores
utilizar para brindar pulsos de frecuencia específica (PWM), 6 de AD y DA, módulos especializados en la transmisión y recepción
entradas análogas. Un oscilador de 16MHz, una conexión USB, de datos). Desde luego que hay diferencias sustanciales como la
entrada para alimentación y un botón de reseteo. Todo esto para arquitectura cerrada de un Microcontrolador, en cambio en un
facilitar y empezar a utilizar nuestro Microcontrolador ATmega328 microprocesador es abierta, podemos sumar nuevos dispositivos en
con el simple hecho de conectarlo al ordenador mediante USB o hardware en función a las necesidades que la aplicación demande.
brindarle corriente.
Otra diferencia entre los Microcontroladores y los
microprocesadores es que los primeros cuentan con un set de
instrucciones reducido en cambio la mayoría de los
microprocesadores tienen mayor cantidad de instrucciones. Por
otro lado la mayoría de los Microcontroladores posee una
arquitectura Harvard frente a una arquitectura Von Neuman de los
microprocesadores.
LM35
Típicamente, la comunicación serial se utiliza para transmitir datos No existe un formato único de transferencia, la especificación USB
en formato ASCII. Para realizar la comunicación se utilizan 3 permite cuatro tipos de transferencias:
líneas de transmisión: (1) Tierra (o referencia), (2) Transmitir, (3)
Recibir. Debido a que la transmisión es asincrónica, es posible Control: se utilizan para configurar y enviar comandos,
enviar datos por una línea mientras se reciben datos por otra. por ejemplo en la enumeración del dispositivo, más
Existen otras líneas disponibles para realizar handshaking, o adelante veremos lo que es esto.
intercambio de pulsos de sincronización, pero no son requeridas. Bulk (masivas): se utilizan cuando se precisa una
Las características más importantes de la comunicación serial son transferencia de datos grande, es el tipo más rápido de
la velocidad de transmisión, los bits de datos, los bits de parada, y transferencia, sin embargo no hay garantía de que los
la paridad. Para que dos puertos se puedan comunicar, es necesario datos se transmitan en un tiempo determinado (no
que las características sean iguales. garantizada la latencia). Si que hay verificación de que
los datos se han transmitido con éxito ya que dispone de
sistema de corrección de errores (CRC), esta
transferencia solo la pueden utilizar dispositivos que
Comunicación USB soporten velocidades Full y High Speed. Este tipo de
La interfaz física está formada por cuatro hilos dos para la transferencia es utilizada por dispositivos como por
alimentación 5v (Rojo) GND (Negro) y dos para datos D+ (verde) ejemplo: discos duros, pen drivers, escaners, impresoras,
y D- (Blanco) Lo del signo + y - es porque es una señal diferencial etc.
cuyo valor depende de la velocidad del bus (3,3v para low-speed y Isócronas: Es usada en dispositivos que transmiten
400mV para high-speed). señales de audio y de vídeo en tiempo real. Se garantiza
una tasa de velocidad de transmisión determinada
(latencia asegurada). Si no fuera así, por ejemplo en una
transmisión de voz el audio se oiría entrecortado. No
contempla la corrección de errores, si en un archivo de
sonido se pierde un BIT, no es importante su
recuperación. Para usar este tipo de transferencia es
necesario que los dispositivos soporten velocidades Full
Speed.
Interrupción: latencia asegurada y verificación de que los
datos se han transmitido con éxito, Se utiliza en
dispositivos como: Teclados, Mouse, Sensores, Pantallas
táctiles, y dispositivos que no requieran mucho ancho de
banda.
El primer paso realizado fue el armado del circuito para realizar la Un nuevo diagrama para un nuevo circuito se armó en la
comunicación serial mediante el MAX232, para esto se ocupó Protoboard, esta vez con los datos brindados por el DataSheet
saber la conexión de tal circuito (Figura 1) para empezar las (figura 2) del circuito integrado. Con la misma finalidad, permitir
pruebas con el primer tipo de comunicación buscado, la la comunicación vía puerto serial entre los datos mandados por el
comunicación por puerto serial. Arduino y los datos que Java debe recibir.
Con el éxito en la prueba anterior se dedujo que tipo de datos eran Se procede a instalar el sensor de temperatura en una pequeña placa
enviados y como la programación en Java debía aceptarlos. Ahora que se conecta al shield del Arduino. Siendo algo básico no generó
solo se debía hacer un interpretador para esos caracteres enviados, problemas ya que la información para la conexión (Figura 5) se
utilizado código ASCII. Con estas modificaciones en la realizó en Protoboard el primer armado. Ahora se generó el nuevo
programación se pudo codificar y decodificar los valores enviados código en Arduino, el cual cumpliría con los requisitos ya antes
por Arduino, de tal manera que en el IDE de ARDUINO se previstos y ahora la obtención de datos que el sensor enviaría
realizaban todos los métodos y funciones según lo demandado o primero con la conexión serial.
requerido tomando en cuenta que lo que nos enviaba el Arduino
por el cable serial era un carácter del valor entero tomado como su
equivalente a código ASCII mientras que en el IDE de
NETBEANS, el valor que se recibía como carácter en código
ASCII era convertido a su valor en equivalente para la
interpretación del (los) mismos para poder graficar estos mismo
datos.
Seral.begin(9600);
void loop ()
signalread = analogRead(8)
Serial.print(x);
delay (1000);
Para la interpretación del código del sensor tuvimos que meter una
ecuación dada por nuestro sensor con respecto a una relación del
mismo, la cual nos dice que (Ecuación 1) y por lo tanto (Ecuación
1.1) la cual se metió como función o proceso al Arduino, dándonos
así la temperatura de ambiente cada 1 segundo
V. Referencias
Michael Margolis
Arduino Cookbook
Editorial: O’Reilly Vlg Gmbh &Co.
Edición: 2
Universidad de Barcelona
Programación en Java para físicos e ingenieros
Editorial: Openlibra
http://www.arduino.cc/es/
http://store.arduino.cc/ww/index.php?main_page=product_info&cPath=11
_12&products_id=200
https://sites.google.com/site/microcontroladoresmicrochip/lo-
basico/historia-de-los-microcontroladores
http://www.cad.com.mx/historia_del_lenguaje_java.htm
http://digital.ni.com/public.nsf/allkb/039001258CEF8FB686256E0F0058
88D1