Panama Hitek Logo
Panama Hitek Logo

Librería Arduino para Java: Troubleshoot

**A partir de su versión 2.6.0, la librería Arduino para Java ha sido renombrada a PanamaHitek_Arduino. La misma se puede encontrar en nuestro repositorio de GitHub.

Hola a todos. Como recientemente me han escrito muchas personas contándome que no han podido utilizar la librería que he preparado para Java, la cual pueden encontrar en mi post: Librería PanamaHitek_Arduino para Java.

En este post les presentaré los posibles errores y las soluciones dichos problemas.

  • El error más común
java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver

Este error se produce cuando se intenta iniciar una aplicación en Java que se va a comunicar con Arduino.

La causa de esto es que no se ha instalado correctamente la librería RXTX la cual necesita 2 drivers para trabajar: rxtxSerial.dll y rxtxParallel.dll

De hecho, el driver Parallel no nos hará falta ya que estamos usando comunicación serial, no por puerto paralelo, así que podrían omitirla.

La guía de como instalar correctamente estos se encuentra aquí:

Requisitos para utilizar Arduino y Java

Un video completo sobre la instalación de la librería:

Dependiendo de la arquitectura de sus sistema operativo, puede descargar la versión que le corresponda. Esto instalará los drivers necesarios y permitirá que Arduino se comunique con Java sin problemas.

  • Los errores que arroja la librería

Se produce cuando se trata de iniciar un programa sin tener conectado Arduino a la computadora. También suele pasar que lo tenemos conectado y la computadora no lo reconoce. Yo lo que hago es desconectarlo y conectarlo nuevamente. Si tenemos el monitor serial de Arduino IDE conectado tampoco podremos iniciar nuestras aplicaciones en Java.

Este error se produce cuando tenemos nuestro Arduino conectado pero el puerto COM es el equivocado.

Arduino IDE nos está indicando que la placa que estamos usando está conectada en el COM6 pero en Java hemos indicado que usaremos el COM5. Debido a esto no es posible iniciar la aplicación. El COM que aparece en Arduino IDE debe ser igual al que colocamos en Java.

Este error se produce cuando tratamos de enviar datos luego de haber utilizado como conexión el método ArduinoRX que solamente permite recibir datos. Si desea transmitir y recibir datos a la vez debe usar el método ArduinoRXTX.

Este error se produce cuando se trata de recibir datos y se ha iniciado la conexión con Arduino utilizando el método ArduinoTX que solamente permite transmitir datos. Si desea transmitir y recibir datos a la vez debe usar el método ArduinoRXTX.

Este error se produce cuando se inicializa una conexión con Arduino en 2 partes diferentes del código. Esta librería solamente permite iniciar la conxión una sola vez, ya sea utilizando el método ArduinoRX, ArduinoTX o ArduinoRXTX.

Solución a algunos errores de compatibilidad (aporte de Jonathan Josué López Guevara)

Problema: muestra el error que se obtiene al ejecutar el programa.

Solución

Paso 1: Entrar a propiedades.

Paso 2: Seleccionar «Run». La casilla VM generalmente está en blanco.

Paso 3: escribir -Djava.library.path= «xxxx» donde xxxx es la dirección donde instalamos java.

Resultado: Al ejecutar nuevamente se puede accesar a la librería.

***

Necesito que si alguno de ustedes encuentra algún otro problema que yo no halla documentado aquí me lo haga llegar a través de los comentarios y les aseguro que atenderé sus inquietudes lo más pronto posible.

Muchas gracias a todos. Saludos.

***Un agradecimiento especial a Jonathan Josué López Guevara por sus aportes a este post y a este blog.

Antony García González
Antony García González
Ingeniero Electromecánico, egresado de la Universidad Tecnológica de Panamá. Miembro fundador de Panama Hitek. Entusiasta de la electrónica y la programación.

Posts relacionados

79 COMENTARIOS

  1. Amigo, primero que nada quisiera felicitarte por tu trabajo que es espectacular. Felicidades

    También quiero pedirte apoyo, soy principiante en Arduino, me gustaría saber como puedo enviar varios datos desde arduino a java y recibirlos por separado, no se si me explico.

    Muchas Gracias.

  2. Buen día, antes que nada dejame decirte que tienes un muy buen sitio aquí. Esta librería es fantástica, reúne todo lo que necesito, sin embargo tengo un problema. Cuando quiero conectar mi arduino lo hago en el puerto COM10 de mi computadora si es por USB y si es por Bluetooth lo hago en el puerto COM40, sin embargo, al ejecutar la aplicación me dice que no se detecta algún arduino conectado. Descargué el código fuente de tu librería y añadí un System.out.println() con el motivo de verificar qué puertos está detectando el programa y solamente aparece el puerto COM3. No sé si es problema de mi computadora directamente o si puedo hacer algo para solucionarlo. De antemano te agradezco y nuevamente felicidades por tremendo trabajo.

  3. Hola, ya instale varias veces las librerías pero me marca el mismo error, mi PC es de 64 bits y me aparecen dos carpetas que se llaman Archivos de programa y Archivos de programa(x86) la segunda, en las dos aparece la carpeta de java pero no se en cual de las dos debo instalar las librerías.

  4. Sí ya lo hice pero no me funciono aunque ya solucione el problema jeje, lo que hice fue investigar y descubrí que la carpeta que dice Archivos de programa es para los programas de 64 bits y la que dice Archivos de programa(x86) es donde se instalan los programas para 32 bits también investigue como instalar la librería para la comunicación serial y lo que hice fue bajar la librería y los drivers de 64 bits, copie en la siguiente dirección el archivo RXTXcomm: Archivos de programa/java/jdk.7.0_13/jre/lib/ext y los drivers en la siguiente dirección Archivos de programa/java/jdk.7.0_13/jre/bin y ya me funciono, dejo esta información para quienes tengan el mismo problema que yo y a mi ya no me apareció el error.
    Muchas gracias por el aporte que haces en tu blog, a muchos nos ha ayudado bastante.

  5. Buenas noches, he visto que muchos tienen problemas con instalar la librería principalmente por el primer error que muestra nuestro gran compañero Antony. En mi caso, me ha dado pereza desinstalar las versiones de Netbeans, tengo instalado el 6.8, 7.0 y 7.2, pensando desde ya en bajar el 7.3 hahaha. También tuve el mismo error, para no cansarlos, copié todos los archivos en todos los directorios (definitivamente no es la mejor solución, solo ocupas más espacio en tu disco duro) y aún así no se arregló el error, por lo tanto, pensé que google podría solucionar esto. Como es un problema con el path, busqué algo relacionado con eso precisamente.

    Logré resolver el primer problema cambiando unas propiedades del proyecto en Netbeans. Esto fue lo que hice:

    – Clic derecho en el proyecto
    – Propiedades (properties)
    – Ejecución (Run)
    – Escribir en Opciones VM (VM Options): -Djava.library.path=»C:Program Files (x86)Javajre7lib»

    En mi caso esa es la dirección donde tengo instalado Java y la versión del JDK que estoy utilizando. El «Program Files (x86)» significa que mi computadora tiene procesador de 64 bits y se instaló en la carpeta de programas que funcionan con 32 bits. (Recuerden la familia x8086 de 32 bits que tanto dominó la computación en otras épocas).

    Les pondría imágenes pero realmente no sé cómo se hace eso en este blog, por lo tanto traté de ser lo más descriptivo posible. Espero se resuelvan sus problemas de este tipo.

    • Hola Jonathan, no se si ya leíste mi problema (Cuando mando a ejecutar me sale «No se ha encontrado ningun Arduino conectado en el puerto COM19. Verifique el puerto en el que esta conectado Arduino») mi Arduino esta en el puerto COM19 y en el código Java también cambie a COM19, así que descarte esos problemas) Antony me dijo que ustedes eliminaron todo los puertos COM y solo volvieron a conectar el arduino y se les soluciono el problema, Yo hice eso y aun no tengo solución, noc que otra alternativa tomar, si pudieras ayudarme te lo agradecería.

      • Te invito a que me coordinemos una sesión con Team Viewer como ya he hecho con algunos aquí para yo ver el problema de primera mano y hallar una solución.

        Puedes escribirme a mi correo electrónico y enviarme tus datos.

      • Holas Antony, Gracias por querer ayudar pero en hora buena encontré la solución (aunque aun no se porque no reconoce a otros puertos, debe ser algún error del SO).

        Lo que hice es comprobar con todos los puertos libres que tenia mi PC (Cambie el código Java desde COM1 hasta COM20)y al probar SOLO reconocía al puerto COM1, osea ya me salia el cuadro jFrame en blanco y no el mensaje que no reconocía el puerto, entonces Cambie al Arduino de puerto COM19 a COM1, le di ejecutar y en la consola del Netbeans se podía visualizar el mensaje programado en el Arduino «Hola Mundo».

        Para cambiar de puerto al Arduino:

        -Conectar al PC
        -Click derecho en «equipo» y propiedades.
        -Click en «Administrador de dispositivos».
        -Seleccionas «Puertos(COM y LPT1)»
        -Click derecho en «Arduino(COMxx)» y propiedades.
        -Seleccionas la pestaña de «Configuración de puerto» y luego Click en «Opciones avanzadas…»
        -Donde dice Numero de puerto COM, seleccionas el puerto que si reconoce el Codigo Java y Aceptar.

        Saludos.

  6. Hola que tal AMIGO, primeramente deja darte las gracias por las explicaciones tan claras que das y tomarte el tiempo para que los demás podamos aprender mas de este mundo de java e interconexion con Arduino, estuve haciendo muchas pruebas con la conexión y se me presentaba el inconveniente de que el puerto no lo reconocía y me salia como que Arduino no estaba conectado, luego de tratar de buscar las soluciones en este apartado, me di cuenta que el problema es cuando en el PC existen mas de un puerto COM instalado, al eliminar uno y dejar solo el de Arduino se solucionaba, bueno me tome la tarea de revisar el código fuente de la librería que hiciste, y me di cuenta que existe un error lógico en la validación del puerto :

    while (portEnum.hasMoreElements()) {
    CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement();

    if (PORT_NAME.equals(currPortId.getName())) {
    portId = currPortId;
    break;
    } else {
    throw new Exception(«No se ha encontrado ningún Arduino conectado en el puerto » + PORT_NAME + «. Verifique el puerto que esté usando su Arduino»);
    }
    }

    debido a como esta el if, simplemente si el COM de arduino se encuentra en «segundo» lugar sera descartado, en mi caso tengo el COM1 y COM5(Arduino), en el recorrido del While al verificar en primer lugar al COM1 y no coincidir con el COM5 de mi arduino se va por el caso contrario y se interrumpe el bucle y no pregunta por el siguiente puerto, por tanto e puesto la siguiente solucion:

    boolean flag = false;
    while (portEnum.hasMoreElements()) {
    CommPortIdentifier currPortId = (CommPortIdentifier) portEnum.nextElement();
    System.out.println(currPortId.getName()) ;
    if (PORT_NAME.equals(currPortId.getName())) {
    portId = currPortId;
    flag=true;
    break;
    }

    }
    if(flag==false) {
    throw new Exception(«No se ha encontrado ningún Arduino conectado en el puerto » + PORT_NAME + «. Verifique el puerto en el que está conectado Arduino»);
    }

    Simplemente puse una variable tipo boolean y verificar esta variable al terminar el bucle del while, de esta manera se puede buscar los demas puertos y me ha funcionado, de esta manera todos los que tengan problemas con los puertos no es necesario cambiarles el COM en configuraciones avanzadas.

    Espero sea de ayuda para los que tengan este problema, nuevamente gracias Antony por tus grandes aportes

    • Hola amigo. Ya he resubido la librería en su versión 1.1.0 en la cual he agregado el pedazo de código que has sugerido. Me gustaría reconocerte el esfuerzo. Podrías enviarme tu nombre completo, correo electrónico, donde vives y si es posible una foto? Si es posible, envíame esta información a [email protected]

      Te quiero agradecer por tu contribución a la nueva versió de la librería. Saludos.

  7. hola amigo.queria hacerte una consulta ya logre establecer el control de un servo con arduino pero mi pregunta es como hago para recibir el angulo que tiene mi servo, yo hice que sea una variable la que de el valor al servo y quiero que ese valor retorne a java pero me retorna -1 al igual estoy utilizando tu libreria ARDUINO, gracias por tu atencion

  8. siii ya mando la informacion con el MessageAvailable tal y como esta en el video y lopongo en JFrame pero me sale valores de -1 y repetidamente 45 sera un error logico ??

  9. Estoy buscando algun codigo para entender como puedo detectar el puerto com de forma automatica, estoy usando netbeans como interfaz con arduino, le agradesco de antemano la ayuda que puedan dar.

  10. ola buenos tardes:
    he estado intentado prender y apagar un led pero lo que me a la hora de ejecutar la programación en el netbeans ide 7.3 es:
    run:

    WARNING: RXTX Version mismatch
    Jar version = RXTX-2.2-20081207 Cloudhopper Build rxtx.cloudhopper.net
    native lib Version = RXTX-2.1-7pre16
    Java Result: 64
    BUILD SUCCESSFUL (total time: 0 seconds)

    alguna sugerencia [ara solucionar este problema
    saludos

  11. que tal estoy intentando de todas formas pero siempre me aparece este problema de la libreria RXTX, ya probe poniendo el path instalando los drivers que copian en la ruta C:Program FilesJavajdk1.7.0_15bin alguien me puede ayudar porfavor

    • Hola Amigo me gustaría ayudarte con tu problema yo también tenia un problema parecido pero lo que ice fue pegar los dll del RXTX en todas las carpetas que encontré con el nombre bin y lib en especial creo que fue la que pege en esta direccion C:Program FilesJavajdk1.7.0_17bin creo que esa fue la que me la soluciono ya que yo tenia dos JDK este jdk1.7.0_15 y este jdk1.7.0_17 y solo los avía copiado los archivos al primer JDK (jdk1.7.0_15 ) y no en el segundo intenta copiar los archivos en todas las carpetas que tengan el nombre bin y lib espero te funcione y me avisas o sino intenta buscar otros tutoriales sobre como instalar la librería RXTX a mi me ayudo cambien eso suerte.

      • Hola. Gracias por los comentarios. Por supuesto que estoy dispuesto a colaborar con usted. Actualmente el proyecto Panama Hitek lo formo yo solo, un estudiante de la UTP Azuero. Espero poder contar con la ayuda de alguien más para seguir con esto adelante. Saludos.

  12. hey viejo que mas pones para declarar la variable serial port no se que es porque en el video no se ve bien porque esta todo borroso y no distingo nada

  13. Hola. No consigo instalar bien las librerías. No consigue que funcione. Aparte mi arduino no toma lecturas continuas. ¿Habría alguna forma de que lo hiciera desde el programa de Java? Gracias.

  14. Hooola. Ya he conseguido que funcione. Ajhora el problema es que me manda ceros y unos sólamente, y necesito enviar la letra h desde el pc, para que tome medidas el arduino. ¿Cómo podría hacerlo? Gracias.

  15. Hola
    Muchas gracias por la librería, es demasiado útil, la utilizo para mi tésis de grado ;D
    Pero
    tengo un problema, dice «Imposible conectar, el puerto COM3 está siendo
    usado por otra aplicación», pero en el COM3 está mi arduino UNO, estoy
    desde Windows 8, pero en Windows 7 también me envió el mismo problema,
    qué debo hacer 🙁
    Gracias de antemano

  16. disculpa me sale este error, pero ni idea por que , me puedes ayudar?

    Exception in thread «AWT-EventQueue-0» java.lang.UnsupportedClassVersionError: com/panamahitek/PanamaHitek_Arduino : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at panel_1.(panel_1.java:8)
    at panel_1$5.run(panel_1.java:152)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:312)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:745)
    at java.awt.EventQueue.access$300(EventQueue.java:103)
    at java.awt.EventQueue$3.run(EventQueue.java:706)
    at java.awt.EventQueue$3.run(EventQueue.java:704)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:715)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
    BUILD SUCCESSFUL (total time: 2 seconds)

  17. a que se debe que me salga este error

    java.lang.UnsupportedClassVersionError: gnu/io/SerialPortEventListener : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    Exception in thread «main» Java Result: 1
    BUILD SUCCESSFUL (total time: 6 seconds)

  18. Hola, presento este tipo de error y no se como corregirlo… y soy novato en java y no se como corregirlo… agradezco su colaboración.
    Exception in thread «EventThread COM4» java.lang.NumberFormatException: multiple points
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1914)
    at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
    at java.lang.Float.parseFloat(Float.java:451)
    at proyecto.java_arduino$1.serialEvent(java_arduino.java:30)
    at jssc.SerialPort$EventThread.run(SerialPort.java:1115)

  19. Hola.!
    Bueno me aparece éste error:

    ene 12, 2017 7:18:15 PM Window
    GRAVE: null
    java.lang.ClassCastException: Window$1 cannot be cast to jssc.SerialPortEventListener
    at Window.(Window.java:23)
    at Window$4.run(Window.java:129)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

    Al principio si corre el programa pero poco después aparece este error, ¿A qué se debe?
    Espero una respuesta inmediata jeje ya que necesito el programa para un trabajo.

  20. mi buen, como podria solucionar estas interrupciones que mes salen:
    1.- com.panamahitek.ArduinoException: Nomrbe del puerto – COM6; Nombre del método – killArduinoConnection(); Tipo de excepción – Error al finalizar la conexión con Ardino.

    2.- com.panamahitek.ArduinoException: Nomrbe del puerto – COM6; Nombre del método – arduinoRXTX(); Tipo de excepción – No se puede iniciar la conexión con Arduino 2 veces.

    La interrucion n° 1 me sale cuando desconecto el cable USB con el que me comunico con arduino(MEGA).

    y si vulevo a conectar el USB ya no me permite conectarme nuevamente hasta que cierro el programa y lo vuelvo abrir…

    la n°2 me sale despues que hago esta desconexion, segun veo es por que ya hay una conexion con arduino, pero como ya se desconecto el cable ya no me permite terminar la conexion con arduino osea «Arduino.killArduinoConnection();»

    acepto todo tipo de sugerencias seran bien aceptadas… saludos

    utilizo java con Netbeans.

  21. Amigo, hice lo mismo que dijiste para solucionar el primer problema, pero me sigue saliendo el mismo error, qué puedo hacer, ayudame, por favor

  22. ME APARECE ESTO, QUE HAGO?
    PanamaHitek_Arduino Library, version 2.7.0
    ===============================
    Library created by Antony Garcia Gonzalez
    Student of Panama’s Tecnological University and the creator of panamahitek.com
    You can find all the information about this library at https://panamahitek.com

    Verificando archivos DLL… OK
    abr 03, 2019 6:00:48 PM GUI.FORMULARIO
    GRAVE: null
    java.lang.Exception: No se ha encontrado ningún Arduino conectado en el puerto COM6. Verifique el puerto en el que está conectado Arduino
    at panamahitek.Arduino.PanamaHitek_Arduino.arduinoTX(PanamaHitek_Arduino.java:277)
    at GUI.FORMULARIO.(FORMULARIO.java:26)
    at GUI.FORMULARIO$11.run(FORMULARIO.java:585)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

    abr 03, 2019 6:00:53 PM GUI.FORMULARIO APAGARROJOActionPerformed
    GRAVE: null
    java.lang.Exception: No se ha iniciado conexión con Arduino. Por favor utilice alguno de los métodos ArduinoRX(), ArduinoTX() o ArduinoRXTX()
    at panamahitek.Arduino.PanamaHitek_Arduino.sendData(PanamaHitek_Arduino.java:466)
    at GUI.FORMULARIO.APAGARROJOActionPerformed(FORMULARIO.java:194)
    at GUI.FORMULARIO.access$100(FORMULARIO.java:17)
    at GUI.FORMULARIO$2.actionPerformed(FORMULARIO.java:65)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6539)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6304)
    at java.awt.Container.processEvent(Container.java:2239)
    at java.awt.Component.dispatchEventImpl(Component.java:4889)
    at java.awt.Container.dispatchEventImpl(Container.java:2297)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
    at java.awt.Container.dispatchEventImpl(Container.java:2283)
    at java.awt.Window.dispatchEventImpl(Window.java:2746)
    at java.awt.Component.dispatchEvent(Component.java:4711)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

    BUILD SUCCESSFUL (total time: 10 seconds)

    (MI ARDUINO SI ESTA CONECTADO)

  23. hola que tal
    Quiero conectar java arduino pero usando eclipse, hay algun tutorial de como hacer la instalacion e implementacion de la librería?
    gracias

  24. Hola en mi programa no hay problemas para la ventana principal, pero cuando entro a otra ventana me sale este error:
    Nomrbe del puerto – COM3; Nombre del método – arduinoTX(); Tipo de excepción – Puerto no abierto.

  25. Actualmente trabajo con dicha librería y todo funciona muy bien, sin embargo tengo un detalle, el tiempo de transferencia de Java a Arduino es algo tardado, es decir tengo unos botones que me encienden unos led por separado y si presiono dos o mas de ellos rápidamente no me detecta todos los comandos de encendido.

    Estoy usando ArduinoRXTX, alguna sugerencia o algún detalle que pueda revisar para solucionar dicho inconveniente?

  26. Hola saludos tengo el siguiente problemas la librería funciona perfectamente, pero cuando uso el método sendData en otra clase o en una clase que implementa sale la siguiente excepción:
    com.panamahitek.ArduinoException: Nomrbe del puerto – ; Nombre del método – sendData(); Tipo de excepción – No es posible utilizar este método si se ha iniciado la conexión a Arduino con el método arduinoRX(), el cual es sólo para recibir datos.

    le ha pasado a alguien mas ? que puede ser ?
    la version de la libreria es 3.0.0 y rxtxcomm 2.2 con NetBeans 8.2 windows 7

  27. Saludos antonygarciagonzalez tengo una aplicacion java que funciona con arduino
    y la libreria suya, pero por algun motivo tengo un boton reconectar y si se desconecta el cable usb del arduino cuando doy reconectar me dice que el puerto COM esta cerrado y no se conecta para lograro debo cerrar y volver abrir la aplicacion.
    Sera que cambia de puerto COM arduino? al volverse a conectar al USB, o como vuelvo a abrir ese puerto desde java sin reiniciar la aplicacion.

    • El puerto COM a veces cambia. La librería no está hecha para que el micro se desconecte mientras se ha iniciado la conexión

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Post relacionados