Arduino + Java: Encender un LED desde un programa en la PC

30
27620

***Este post fue originalmente publicado el 31 de enero de 2013, pero lo estoy re posteando ya que esta vez utilizaré la librería Arduino para Java que yo mismo diseñé y que no fue incluida en la publicación original

En este artículo voy a mostrar como encender un LED desde un programa en la PC  hecho con el lenguaje de programación Java, utilizando Netbeans IDE.

Uno de los principios de la Robótica es lograr que un dispositivo electrónico sea controlado por el usuario a través de una computadora. Con Arduino podemos controlar circuitos utilizando aplicaciones escritas en cualquier lenguaje de programación que soporte comunicación serial. Para efectos de este post, concentraremos nuestros esfuerzos en lograr que un circuito sencillo, como lo es un LED y una resistencia puedan ser conmutados desde nuestra computadora, utilizando una interfaz en Java y nuestro microcontrolador Arduino. En mis anteriores aportes me he enfocado en explicar como crear una sencilla aplicación en Java, con un botón y un jLabel. También vimos como trabajan las funciones en Java. Para poder enviar y recibir información a través del puerto serie con Java se necesita instalar las librerías RXTX. Por último, toda aplicación debe contar con la Librería Arduino para Java. Con toda esta información somos capaces de lograr nuestro acometido. Empezemos. Primero abrimos Netbeans y creamos un proyecto llamado ArduinoSwitch. Insertamos un jFrame y colocamos 2 botones: Encender y Apagar.

Encender led Arduino Java   Necesitamos renombrar los nombres de los botones. Los llamaremos jButtonEncender y jButtonApagar. Encender led Arduino Java   Ahora al botón de Apagar le vamos a quitar la opción «enabled» en las propiedades del control. Encender led Arduino Java   Esto lo que hará es que al iniciar el programa no se pueda presionar el botón de apagado mientras el LED esté apagado. Si ejecutamos el programa, la interfaz es la siguiente: Encender led Arduino Java   Ahora vamos a programar. Lo primero que debemos hacer es agregar las librerías RXTX y Arduino a nuestro programa. Encender led Arduino Java   Abrimos el código fuente e instanciamos la librería Arduino. Encender led Arduino Java  Le damos clic al ícono amarillo de la izquierda y seleccionamos la primera opción. Esto logrará que se elimine el error. En el método principal se inicializa la conexión con Arduino. Como solo vamos a encender y apagar, se usa ArduinoTX. Encender led Arduino Java   Los parámetros que colocaremos son los siguientes: PORT NAME: Nombre del puerto donde está conectado Arduino (por ejemplo, COM24, COM25, COM 25, etc). TIME OUT: Tiempo de espera entre el inicio de la ejecución y el envío de comandos. Se utiliza 2000 por default. DATARATE: El baud rate de la comunicación serial. Normalmente se usa 9600. Agregamos los parámetros que estemos usando en nuestro proyecto y metemos todo en una estructura Try-Catch. Encender led Arduino Java   Con esto hemos terminado la conexión con Arduino. Necesitamos programar los botones. Lo que haremos será que cuando presionamos el botón de encender, este se desactive y solo quede activo el botón de apagar. Le damos doble clic al botón «Encender» en la interfaz de diseño e insertamos la programación. Al presionar encender, se desactivará el botón y cambiará el color a gris. Se activara el botón apagar y cambiará a dorado. Usaremos la clase Color para los colores, los cuales necesitamos introducir en formato RGB. Así luce la programación: Encender led Arduino Java   El comando que va a encender el LED en Arduino será un «1» el cual enviaremos utilizando la función Arduino.SendData(). Encender led Arduino Java

En el botón apagar se copia el mismo código pero se le hacen algunas ligeras modificaciones. Encender led Arduino Java Hemos terminado la programación en Java. Ahora solo hay que subir el código a nuestro Arduino para que todo nos funcione bien. Primero el esquemático:

ArduinoSwitch
  Nótese que el cátodo (positivo) del LED está en el pin 13 y el cátodo en GND (verificar los electrodos dentro del propio LED). Ahora la programación:

Encender led Arduino Java Con esto estamos listos para ejecutar. En el siguiente video (el que publiqué en la versión original, viejo y sin mucha calidad) se muestra la pequeña interfaz que hemos hecho funcionando con un LED.   Los archivos de este proyecto se encuentran disponibles en el siguiente enlace: http://docs.google.com/file/d/0B0hsUkhqWH97a1BDUU02MlB4WXM Espero que toda la información suministrada sea de su completo agrado. Saludos.

30 Comentarios

  1. diculpa amigo, el me baje el programa y le agregue la libreria PanamaHitek_Arduino, v2.8.3 pero sigue marcando error. ¿me podrias ayudar?. tengo arduino uno y trabajo en netbeans 8.1, el jdk que estoy utilizando es el 1.8. saludos desde mexico

  2. Hola buen día, para este ejemplo existe alguna versión especial del JDK de Java? Yo lo he probado con la 7 y hasta la 1.4 y no me sale. El error es en Netbeans.

  3. esta muy padre tu blog. bien explicado el mejor que he vistoo =D
    Pero no me funciono a mi jijijiji es ke estoy utilizando ENERGIA y pues no se tal
    vez sea eso. Pero esta muy padre Felicidades.

  4. Un cordial saludo, se que soy nuevo en java pero quiero que me ayudes con este proyecto que hiciste no llegó a entender como hiciste que puedas conectar tu pc con el protoboard quisiera saber eso te lo agradecería de ante mano. Gracias

  5. Hola buenas tardes, disculpa descargue los archivos pero el programa en java agrego las librerias pero me sigue marcando un Warning y a la hora de correrlo truena, espero me puedas ayudar ya que ocupo basarme de este programa para crear otro, saludos…

  6. Hola que tal, gracias por el tutorial… amm tengo una pregunta , es posible adaptar esta libreria en Android? manejandolo con alguna evento o algo asi?

  7. Hola amigo un saludo muy especial desde Colombia allá en panamá, primero que todo quisiera felicitarte por el excelente blog que tienes, he estado revisando tu blog y hay muy buenos tutoriales, esto quisiera pedirte un favor he revisado este tutorial lo e implementado en java funciona perfecto, esto quisiera saber es como dejarlo ejecutable, me explico un archivo en el cual yo no tenga que abrir java cada vez que quiera ejecutarlo, cual quier información estaré agradecido amigo, ya que en Internet hay cierta información que a veces lo confunde a uno, y pues quisiera que me ayudara en eso por que estoy interesado en realizar proyectos tales como estos para Arduino. Muchas gracias.

    • Actualmente me encuentro investigando sobre este tema ya que es un problema muy común que se tiene entre los usuarios de Java. Me encuentro haciéndole consultas a un profesor de mi Universidad que es miembro de Netbeans Dream Team. Apenas tenga una solución a este tema le aseguro que publicaré un tutorial completo acerca de dichas técnicas. Y está de suerte por que necesito presentar un proyecto de fin de semestre dentro de dos semanas y el mismo requiere del uso de un programa que contenga la librería en su interior. Espérelo pronto

  8. Bastante interesante, todo lo que se puede hacer con Arduino infinitas aplicaciones.

    Una pequeña consulta en donde colocaste el LED me parecio ver un protoboard, la duda es porque me interesaria hacerlo en mi casa de manera Hobbie, desde el desarrollo en Java y del protoboard.

    Gracias.

Dejar respuesta

Please enter your comment!
Please enter your name here