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/