martes, 21 de febrero de 2012

Mover Leds con el Puerto Paralelo en Java

El siguiente programa trata sobre la manipulación del puerto paralelo desde java, usando la librería RXTXcomm.jar; en resumen lo que hace es mover la posición de un led activo usando las teclas direccionales del teclado.
Para poder probarlo necesitaran:
-1 cable del puerto paralelo
-1 tablilla
-8 resistencias de 330 homs
-8 leds

y crear el siguiente circuito:
Los pines 2 al 9 son pines de datos y es donde se conectaran los leds.

Una vez hecho el circuito, lo conectan al puerto paralelo y ejecutan el programa(Nota: es importante que conecten los pines 10,11 y 12 a tierra o al pin 25 ya que de lo contrario el programa se ciclara).

Una vez ejecutado el programa verán la siguiente ventana:

posteriormente darle clic en abrir puerto:

Seleccionar Activar:

Y al mover las teclas direccionales izquierda y derecha podrán observar como el led prendido ira cambiando de posición:

Por ultimo podrán cerrar el puerto:

El programa lo podrán descargar desde aquí: MoverLeds


10 comentarios:

  1. Hola zuleima, yo lo probé y si me descargó el archivo, solo dale clic donde dice "MoverLeds" en rojo.

    ResponderEliminar
  2. oye disculpa al momento de correr el programa me marca el siguiente código

    Stable Library
    =========================================
    Native lib Version = RXTX-2.1-7
    Java lib Version = RXTX-2.1-7
    gnu.io.NoSuchPortException

    al momento de abrir el puerto y pues de ahi no pasa... como arreglo eso... gracias

    ResponderEliminar
    Respuestas
    1. En el siguiente link podrás descargar una clase que te servirá para poder ver los puertos con los que cuenta tu equipo:

      https://dl.dropboxusercontent.com/u/29160321/Blog/Mover%20leds(puerto%20serie%20y%20paralelo)/Puertos.java

      Una vez descargada la clase copiala al proyecto en este directorio: MoverLeds/src/moverleds y ejecutalo; checa si te aparece el puerto LPT1.

      Eliminar
  3. ok lo que pasa es que estoy usando un puerto usb-paralelo y pues la computadora lo reconoce como usb... eso no afecta?? y en el ultimo codigo que subiste tienes un error en el metodo main cuando pones Vector v = obtenerPuertosParalelos();

    ResponderEliminar
    Respuestas
    1. Pues si afecta porque lo que estas usando es el puerto usb, la librería rxtx es para manipulación del puerto serie y paralelo y tu estas usando un conversor, que te convierte datos en serie a datos en paralelo; y eso significa que la librería no te reconocerá ese puerto. Tienes que probarlo con una maquina que tenga puerto serie y paralelo.

      Si tienes razón el código tiene ese error y debería ser Vector v = p.obtenerPuertosParalelos(); solo copie y pegue de rápido sin probarlo.

      Eliminar
  4. Hola hilario crees que será posible leer el puerto paralelo y luego guardarlo en una DB MaySQL?

    ResponderEliminar
    Respuestas
    1. Hola!

      El puerto paralelo no te sirve para leer datos. El puerto paralelo fue diseñado originalmente para interactuar solamente con la impresora y por lo tanto solo sirve para enviar datos y no para recibir; pero si estas empeñado en leer datos, puedes usar los pines de estados del puerto paralelo que son los pines:10,11,12,13,15.

      Eliminar
  5. hola tendra una foto del protoboard del circuito... y ahora tngo problemita con el jar del proyecto en cuanto a la version de x64 bits.. :s

    implemente la clase para ver si tngo el pueto lpt1 pero solo sigue saliendo el mismo warning d ace rato


    Grax por el tuto

    ResponderEliminar
    Respuestas
    1. Hola!

      Lo siento no tengo fotos de la tablilla. =(

      En esta liga podrás descargar la librería RXTXComm para SOs de 64bits:
      https://dl.dropboxusercontent.com/u/29160321/Blog/Mover%20leds(puerto%20serie%20y%20paralelo)/ch-rxtx-2.2-20081207-win-x64.zip

      Solo cambia en archivo .jar y los archivos .dell que ya tienes con los de esta nueva versión.

      Podrías mostrarme el error por favor.

      Eliminar