Objetivo
Aplicar conocimientos básicos de programación JAVA en el campo práctico que en este caso sería el encendido y apagado de LEDS mediante una computadora.
Marco teórico
Para este proyecto se utilizó una computadora, un programa JAVA y un puerto paralelo.
PUERTO PARALELO
Un puerto paralelo es una interfaz entre una computadora y un periférico, cuya principal característica es que los bits de datos viajan juntos, enviando un paquete de byte a la vez. Es decir, se implementa un cable o una vía física para cada bit de datos formando un bus. Mediante el puerto paralelo podemos controlar también periféricos como focos, motores entre otros dispositivos, adecuados para automatización.
El cable paralelo es el conector físico entre el puerto paralelo y el dispositivo periférico. En un puerto paralelo habrá una serie de bits de control en vías aparte que irán en ambos sentidos por caminos distintos.
Puerto paralelo Centronics
Conector de puerto paralelo tipo Centronics
El puerto paralelo más conocido es el puerto de impresora (que cumplen más o menos la norma IEEE 1284, también denominados tipo Centronics) que destaca por su sencillez y que transmite 98 bits. Esta interfaz es capaz de enviar caracteres a la impresora de forma paralelo. Cada carácterestá codificado en un byte, del cual cada bit se transmite por un terminal diferente. Existen otros terminales que conectan ordenador e impresora, que sirven para intercambiar información de control y de estado, a fin de implementar un sencillo protocolo.
Para realizar esta interfaz, los PCs disponen de unos elementos hardware específicos, denominados puertos de impresora o también puertos paralelos.
En un PC pueden instalarse varios de estos puertos que se distinguen entre sí con los nombres LPT1, LPT2 y LPT3 (en algunos casos también LPT4). Todos ellos son idénticos, salvo que tienen asignadas diferentes direcciones en el mapa de entrada/salida.
Se ha utilizado principalmente para conectar impresoras, pero también ha sido usado para programadores EPROM, escáneres, interfaces de red Ethernet a 10 Mb, unidades ZIP, SuperDisk y para comunicación entre dos PC (MS-DOS trajo en las versiones 5.0 ROM a 6.22 un programa para soportar esas transferencias).
Las características eléctricas son:
Tensión de nivel alto: 3,3 o 5 V.
Tensión de nivel bajo: 0 V.
Intensidad de salida máxima: 2,6 mA.
Intensidad de entrada máxima: 24 Ma
Descripción del conector físico
La conexión del puerto paralelo al mundo exterior se realiza mediante un conector hembra DB25. Observando el conector de frente y con la parte que tiene mayor número de pines hacia arriba, se numera de derecha a izquierda y de arriba a abajo, del 1 al 13 (arriba) y del 14 al 25 (abajo).
Este conector: está formado por 17 líneas de señales y 8 líneas de tierra. Las líneas de señales están formadas por tres grupos: 4 Líneas de control,5 Líneas de estado, 8 Líneas de datos.
8 líneas (pines) son para salida de datos (bits de DATOS). Sus valores son únicamente modificables a través de software, y van del pin 2 al pin 9 .
5 líneas son de entrada de datos (bits de ESTADO), únicamente modificables a través del hardware externo. Estos pines son: 11, 10, 12, 13 y 15, del más al menos significativo.
4 líneas son de control (bits de CONTROL), numerados del más significativo al menos: 17, 16, 14 y 1. Habitualmente son salidas, aunque se pueden utilizar también como entradas y, por tanto, se pueden modificar tanto por software como por hardware.
las líneas de la 18 a la 25 son la tierra
Materiales
8 LEDS DEDIFERENTES COLORES
1 PROTOBOARD
1 COMPUTADORA
CABLE DE PUERTO PARALELO
8 RESISTENCIAS DE 240 OHMIOS
PROGRAMA JAVA
CABLE UTP
Procedimiento
(Se adjunta el video del procedimiento más el circuito y el material necesario)
Donde dice "Pin puerto paralelo" puede ser cualquier Pin del 2 al 9. No olvidar hacer una conexión al pin 25 que es tierra
El circuito consiste en un led con una resistencia, la resistencia se usa para limitar la intensidad y no pedir más de la que el puerto paralelo es capaz de dar (5 mA). Cuando se active el pin el led se encenderá.
En este proyecto lo que se quiere mostrar es como, con un circuito, se puede controlar mediante la computadora un grupo de LEDs los que se van a encender en una secuencia que nosotros vamos a controlar con un pequeño programa escrito en el lenguaje de programación Java.
El circuito que se va armar será montado sobre una plaqueta, la cual conduce la corriente eléctrica, llamada "protoboard".
El objetivo es controlar los diodos LEDs con la computadora, esto es encenderlos y apagarlos según como queramos.
Para controlar un circuito externo con la computadora se usará el puerto paralelo de ella, para conectar el puerto con el circuito se necesitará el cable paralelo o conector DB-25. El paso siguiente es soldar cable fino UTP a los pines internos del conector. Como los pines están numerados del número 1 al 25, solo usaremos los pines numerados del 2 al 9, también se tiene que soldar un cable al pin 25 (que es el pin de masa o tierra eléctrica) para tener una descarga a tierra común, para nuestro circuito y la computadora. Una vez construido el cable se lo puede conectar al protoboard.
Solo se deben usar ocho entradas y ocho salidas, ya que son los ocho LEDs los que controlamos. Las ocho salidas están conectadas por medio de una resistencia limitadora de corriente a un LED cada una. Estas resistencias son de un valor de 240 ohm .
El programa para controlar nuestros leds sera :
import parport.ParallelPort; import java.io.*; public class casita { public static class Aplicacion { private ParallelPort lpt1; public Aplicacion () throws IOException { int pin = 0; BufferedReader w = new BufferedReader (new InputStreamReader (System.in)); lpt1 = new ParallelPort (888); int opcion = 0; do { System.out.println ("1) Prender PIN 1."); System.out.println ("2) Prender PIN 2."); System.out.println ("3) Prender PIN 3."); System.out.println ("4) Prender PIN 4."); System.out.println ("5) Prender PIN 5."); System.out.println ("6) Prender PIN 6."); System.out.println ("7) Prender PIN 7."); System.out.println ("8) Prender PIN 8."); System.out.println ("9) Apagar Todas."); System.out.println ("10) Prender Todas."); System.out.println ("11) Salir."); opcion = Integer.parseInt (w.readLine ()); switch (opcion) { case 1: pin = (int) Math.pow (2, 0); //potencias desde 2 elevado a 0 break; case 2: pin = (int) Math.pow (2, 1); break; case 3: pin = (int) Math.pow (2, 2); break; case 4: pin = (int) Math.pow (2, 3); break; case 5: pin = (int) Math.pow (2, 4); break; case 6: pin = (int) Math.pow (2, 5); break; case 7: pin = (int) Math.pow (2, 6); break; case 8: pin = (int) Math.pow (2, 7); break; case 9: pin = 0; //apagar todo break; case 10: pin = 255; //prender todo break; } lpt1.write (pin); //manda a la impresora } while (opcion != 11); } } //———————————- public static void main (String[] args) throws IOException { new Aplicacion (); }} |
El funcionamiento de este programa y circuito necesita que se desbloquee el puerto de la impresora:
Paso 1.- Desbloquear el puerto de la impresora.
Para desbloquear el puerto de la impresora ingrese al panel de control y haga clic en SISTEMA Y SEGURIDAD
Luego clic en hardware y sonido
Clic en administrador de dispositivos:
Ahora seleccione puerto de impresora:
Clic al botón derecho del mouse y elegir propiedades:
En CONFIGURACIÓN DE PUERTO, seleccione USAR CUALQUIER TIPO DE INTERRUPCIÓN
ACEPTAR todo y terminar. Con lo que tenemos habilitado el puerto a nivel sistema operativo.
Paso 2.- Copiar archivos.- Descargue el archivo comprimido javacomm20-win32–ok.rar , descomprima este archivo e inicie las copia de la siguiente manera. De la carpeta FilecomAPI, copie el archivo parport.dll a la carpeta bin de READY TO PROGRAM.
Ahora copiar el archivo UserPort.sys a Windows
Asegúrese de dejar el archivo en el directorio drivers:
Realice las siguiente copias de los archivos al disco duro:
win32com.dll: guardarlo en la carpeta de ..Javajdk1.5.0_02jrebin
javax.comm.properties: copiarlo en la carpeta Javajdk1.5.0_02jrelib
comm.jar: copiarlo en la carpeta ..Javajdk1.5.0_02jrelibext
Ejecute el programa User Port (En Windows 7 ejecutar como administrador):
y clic en aceptar y clic en salir:
Paso 4.- El ejemplo que controla los led.
Lo adjunto en el archivo Leds.rar donde se encuentra el material necesario.
Y proyecto.rar donde se encuentra el programa ya compilado y listo para ser ejecutado.
(ver vínculos de interés al final del documento)
Todo está incluido y no será necesario hacer nada más claro que si usted quiere hacer alguna modificación podrá hacerla sin ningún problema, pero nuevamente se deberá tener cuidado con el paquete de puerto paralelo.
Conclusiones
Este proyecto resulto satisfactorio y exitoso en todos los sentidos ya que pudimos aplicar nuestros conocimientos de programación y electrónica.
Vínculos de interés
http://www.4shared.com/rar/QHnPlJ70/leds.html archivo leds.rar
http://www.4shared.com/rar/tZaRBd84/proyecto.html archivo proyecto.rar http://www.youtube.com/watch?v=p3Kz3HRdNr8&feature=youtu.be Video
http://www.youtube.com/watch?v=5uhTYFep26E&feature=youtu.be Video
Enviado por:
Emilio Amir Oros Salazar