Sei sulla pagina 1di 11

Interface

Java - Arduino
ING. PATRICIO AVILA, MBA, PMP®
No se puede programar Arduino
utilizando el lenguaje Java

 Arduino y Java son dos entes independientes.


 Arduino es una plataforma de hardware libre con su propio
lenguaje, mientras que Java es un lenguaje de
programación de alto nivel.
 Sí se puede crear programas en Java que le envíen
instrucciones a Arduino entregándonos el control de
circuitos electrónicos desde una interfaz en la computadora.
Arduino se comunica con la
computadora por medio de
comunicación serial
 Esta es la forma más sencilla de comunicación que existe entre
Arduino y la computadora, ya que aprovecha el puerto USB por
medio de un convertidor USB-Serie.
 Se implementa con las librerías adecuadas.
Existe una librería especial para
Arduino en Java
 La librería Arduino para Java es una compilación de código que
facilita mucho la comunicación Arduino-Java, Java-Arduino
(http://panamahitek.com/libreria-panamahitek_arduino/).

 Para poder lograr esta comunicación, es necesario instalar los


drivers de la librería RXTX
(https://sourceforge.net/projects/arduinoyjava/files/?) ya
que la librería Arduino depende de la comunicación serial que
posibilitan estos drivers.
Al crear un programa en Java y
establecer comunicación con Arduino,
se está remplazando el Monitor Serial
por una interfaz gráfica

 ¿La ventaja de las interfaces? Tenemos botones gráficos


estilizados, lo que hace nuestros proyectos más interesantes,
interactivos y profesionales.
Para cada tipo de comunicación
existen métodos especiales
 Se pueden dar tres tipos de situaciones…
 Cuando se necesita transmitir datos de Java a Arduino
 Cuando se necesita transmitir datos de Arduino a Java
 Cuando se necesita enviar y recibir datos entre Arduino y Java
 Para esto, la librería Arduino para Java posee tres tipos de
conexiones: ArduinoRX(), solamente para recibir datos en
Java. ArduinoTX(), solamente para transmitir datos en Java
ArtuinoRXTX(), para transmitir y recibir datos en Java.
 Los tres métodos tienen parámetros que se deben
establecer a la hora de utilizarlos.
 En todos hay que establecer el puerto COM al que está
conectado Arduino (ejemplo: «COM6»), el baudRate (que
debe ser igual al establecido en el Serial.begin() en
Arduino), un timeOut (tiempo de espera entre el inicio de la
conexión y el envío/recepción de datos) y en algunos casos
un SerialPortEventListener para detectar cuando se han
enviado datos de Arduino a Java.
Java “escucha” cada vez que Arduino
le envía datos
 Cuando es necesario enviar datos de Arduino a Java, se utiliza
un SerialPortEventListener, el cual requiere de la
implementación de un método abstracto, SerialEvent().
 El SerialEvent() se ejecuta cada vez que se recibe un dato en el
Puerto Serie. Usando el método ReceiveData() obtenemos estos
caracteres.
 También existe el método MessageAvailable() que devuelve un
valor true cuando se haya finalizado la recepción de cualquier
mensaje enviado desde Arduino con el método Serial.println().
 Cuando el método MessageAvailable() devuelve un valor true,
entonces se recibe el mensaje con PrintMessage(). El mensaje será
recibido como un String y podrá ser usado como desee el usuario
dentro de Java.
En Java es posible graficar los datos
que se lee en los sensores
conectados a Arduino

 Existe la librería JFreeCharts. Podemos crear una interfaz


que recibe, procesa y grafica los datos en tiempo real.
Fuente: http://panamahitek.com/10-cosas-que-necesitas-saber-
para-utilizar-arduino-desde-java/

Potrebbero piacerti anche