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

32
35785

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

0 0 votes
Article Rating
Suscríbete
Notify of
guest

32 Comments
newest
oldest most voted
Inline Feedbacks
View all comments
Antony García González
Antony García González
6 years ago

Sí funciona

Didier Argel Chan Ay
Didier Argel Chan Ay
6 years ago

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

Antony García González
Antony García González
6 years ago

Qué error?

Didier Argel Chan Ay
Didier Argel Chan Ay
6 years ago

perdon por no responder antes. me dice que la libreria no existe

import Arduino.Arduino;

Abigail
Abigail
4 years ago

Hola disculpa como solucionaste tu error? ayuda por favor

Antony García González
Antony García González
7 years ago

No existe mayor diferencia entre un Arduino y otro en cuanto a software

Antony García González
Antony García González
7 years ago

Es correcto

Antony García González
Antony García González
7 years ago

Estoy trabajando en la versión 2.8.0 en la cual esto ya no sería un problema

Paola Nayeli Cortez Herrera
Paola Nayeli Cortez Herrera
8 years ago

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.

Antony García González
Antony García González
7 years ago

Necesitas usar la versión 1.8

CARLOS HUMBERTO MENDOZA SALCED
CARLOS HUMBERTO MENDOZA SALCED
8 years ago

Hola Antony Esta muy chebere los tutos pero y los planos esquematicos??

Carlos Lucero
Carlos Lucero
10 years ago

Hola una duda que tal si tengo n leds que tendria que aumentar?

Hesus
Hesus
10 years ago

Que tal, intente descargar los archivos pero al abrirlos solo me permite visualizar la ventana sin el codigo ni nada.

Saludos

Eunice
Eunice
10 years ago

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.

Álvaro Macedo
Álvaro Macedo
10 years ago

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

Álvaro Macedo
Álvaro Macedo
10 years ago
Reply to  Álvaro Macedo

Quisero saber como hiciste el circuito y como conectaste la pc con el circuito que tiene el LED.

Alejandro
Alejandro
10 years ago

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…

Eds Prz
Eds Prz
10 years ago

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?

WHILLIAMS TARACHEE
WHILLIAMS TARACHEE
10 years ago

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… Read more »

Oliver
Oliver
10 years ago

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.