Descargar

Control de luces LED mediante puerto paralelo y programa JAVA


  1. Objetivo
  2. Marco teórico
  3. Materiales
  4. Procedimiento
  5. Conclusiones
  6. Vínculos de interés

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

edu.red

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

edu.red

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

edu.red

Luego clic en hardware y sonido

edu.red

Clic en administrador de dispositivos:

edu.red

Ahora seleccione puerto de impresora:

edu.red

Clic al botón derecho del mouse y elegir propiedades:

edu.red

En CONFIGURACIÓN DE PUERTO, seleccione USAR CUALQUIER TIPO DE INTERRUPCIÓN

edu.red

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.

edu.red

Ahora copiar el archivo UserPort.sys a Windows

edu.red

Asegúrese de dejar el archivo en el directorio drivers:

edu.red

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

edu.red

Ejecute el programa User Port (En Windows 7 ejecutar como administrador):

edu.red

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.

edu.red

edu.red

edu.red

edu.red

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