Librería Arduino para Java: Troubleshoot

65
1972

**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

error

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

error

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.

error

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

error

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.

error

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.

error

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.

error

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.

Problema

 

Solución

Paso 1: Entrar a propiedades.

paso 1
Paso 2: Seleccionar “Run”. La casilla VM generalmente está en blanco.

paso 2

 

 

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

paso 3

 

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

resultado
***

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.

  • Enrique LR

    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.

  • Antony García González

    Trata de usar MAVEN

  • Ulises Peña Hernández

    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.

    • Antony García González

      Que versión estas usando?

  • Dante

    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)

    • Antony García González

      Comparte tu código

  • Antony García González

    De donde sacaste ese error?

  • Antony García González

    Quizás un SDK desactualizado

  • jose luis rosas montiel

    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)

    • Alexander Nova

      Buen dia. Yo lo solucione actializando el jdk.

    • Alexander Nova

      Debe actualizar el jdk en la pagina de netsbean esta la ultima version de la maquina virtual. Me cuenta.

  • josue

    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)

  • Julián Campo

    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

    • Antony García González

      Qué versión utilizas?

    • Antony García González

      Debe haber algo que esté utilizando el puerto cuando tratas de hacer la conexión desde Java

  • Diego Castilla

    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.

  • Diego Castilla

    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.

    • Antony García González

      Que versión de la librería está utilizando

  • jorge

    hey gracias por tu pronta respuesta lo voy a buscar

  • jorge

    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

    • Esta disponible en HD (resolución 720p). Entra a Youtube y cámbiale la resolución en la parte de abajo

  • lorens

    Muchas gracias d verdad! muy buen video 😀

  • JosueSanchez

    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

    • Bryan

      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.

  • Bryan

    Hola Amigo me gustaria que me ayudaras con un problema que tengo te envié la información a este correo ([email protected]) ayudame porfavor.

  • Adrian

    Existe alguna forma de hacerlo correr el UBUNTU

  • franklin

    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

    • Es un problema con la librería RXTX. La que tienes en la raíz de Java debe ser igual a la que se agrega a los proyectos

  • gener

    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.

  • richard

    muchas gracias pero ya pude resolver el problema gracias y felicitaciones por tu trabajo tu librería me ayudo mucho para el trabajo

  • richard

    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 ??

  • richard

    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

    • Es un problema con el envío de datos. Asegúrate de usar Serial.println en Arduino e implementar el MessageAvailable en Java. Con eso cada vez que haya un salto de línea, es decir, cuando se termine de enviar un dato Java lo podrá recibir correctamente

      • richard

        si hago eso pero me mando valores ilógicos como -1 y repetidamente 45 en si no me manda un valor que se aproxime a un angulo

  • Ronaldman

    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.

  • Jonathan L.

    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.

    • William S.

      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.

      • William S.

        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.

        • Gracias por publicar la solución.

          Todo esto es un proyecto y agradezco mucho a todos los que colaboran con sus experiencias a esto.

          Saludos

    • Compañero te invito a que me envíes las imágenes de este proceso para añadirlas a este post como un aporte de tu parte a este blog. Muchas gracias por la colaboración.

  • Con razón tanto alboroto jeje ya voy a actualizarme

  • Pues como te comento si los utilice solo que en mi caso me lo instalaron en una carpeta llamada jdk1.7.0_15 y debería de ser en la jdk1.7.0_13 pero solo los cambie de lugar y listo =)

    • Eso se debe a la diferencia en los JDK. Yo uso el último que salió y en base a eso construí el autoinstalador. Al parecer tienes una versión un poco más antigua

  • 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.

    • Es un problema que tienen muchas personas. Por eso subí un par de autoinstaladores que colocan los archivos en las carpetas que tienen que estar de manera automática

  • 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.

  • Jonathan L.

    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.

    • Verifica en Arduino IDE el puerto donde se ha conectado el Arduino. Ese es el que es

      • Jonathan L.

        Ya lo hice varias veces, incluso tengo comunicación desde el monitor serial de Arduino conectado por USB en el COM10 y a través de bluetooth en el COM40, incluso lo conecté por medio de USB al puerto COM3 cambiando el puerto en una configuración y no me dio resultado. No logro entender qué es lo que pasa realmente.

        • Que COM estás usando en el código Java?

          • Jonathan L.

            He probado todos, COM10, COM40 y COM3. Con el puerto COM3 no me salió el mensaje diciendo que no tenía un arduino conectado en ese puerto, sin embargo no puedo comunicarme con mi arduino.

          • Comunícate con migo a mi correo [email protected]

      • William S.

        Hola Antony, gracias por el aporte.
        tengo el mismo problema de Jonathan ejecuto la aplicación y no detecta a mi Arduino UNO que usa el puerto COM19 (el puerto esta habilitado, cambie el nombre de puerto en el código Java a COM19) y nada no lo detecta.
        Quisiera saber si lograron solucionar ese problema con Jonathan. Gracias.

        • Si en efecto lo pudimos solucionar. Lo que hicimos fue des instalar todos los puertos COM (seriales) y luego conectar Arduino para que se instalara nuevamente.

          Ve al administrador de dispositivos y elimina todos los COM. Luego conectas Arduino y el se instala de nuevo. Vas al Arduino IDE, revisas el COM que se le ha asignado al Arduino y trabajas con ese.

  • 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.

    • Hola amigo. Te recomiendo descargarte la librería Arduino para Java.

      Hay 3 métodos, el ArduinoRX, ArduinoTX y ArduinoRXTX. Sirven para transmitir y recibir datos. Es extremadamente sencillo