Está en la página 1de 3

COMUNICACIÓN JAVA - PARALELO

Después de tanto buscar y no encontrar nada, decidí yo mismo conectar el pinche puerto
paralelo del pc a java y wao pude, i’m the best.

Para no alargarles la historia y evitar todo lo que no interesa a este punto.


El cable paralelo tiene 25 paticas que vienen numeradas ha los códigos de colores varían así
que ni pa’ que se los digo.

Bueno los pines que nos interesan.

PIN NOMBRE CONEXION


25 Tierra Es una tierra siempre esta en negativo, por este no se envía nada
solo es tierra.
10 Acuse de recibo Dice que esta listo para recibir, conectarlo a tierra.
11 Ocupado Dice si el PC puede enviar datos o no, conectarlo a tierra.
12 Papel vacio Detiene el flujo de datos del PC, conectarlo a tierra.
2-9 Puerto de datos Por aquí se envía el dato del pc al dispositivo exterior.

Ahora yo hice la prueba con 8 leds, el cable de 25 pines y una protoboard.

1) identifique los pines.


2) conecte las paticas negativas de los leds al pin 25.
3) las paticas positivas de los leds se conectan desde el pin 2 al 9.
4) conecte los pines 10-11-12 al pin 25 o a -5v de fuente externa como tú quieras.
Pin 10 Pin 11 Pin 12
Y listo ya con esto, burn it up. Que esa joda funciona

Pin 25

Pin2 Pin3 Pin4 Pin5 Pin6 Pin7 Pin8 Pin9


El código utilizado:

import java.io.OutputStream;
import java.io.InputStream;
import javax.comm.CommPortIdentifier;
import javax.comm.ParallelPort;

/* "CODIGO.JAVA@HOTMAIL.COM" */
/* "Mauro Gomez Mejia" */

public class ControlPuertos {

private CommPortIdentifier idPort;


private ParallelPort puertoParalelo;
private OutputStream salida;
private String nombre;
public static int PARALELO=0;

public void iniciarPuerto(){


try {
nombre= "LPT1";
idPort = CommPortIdentifier.getPortIdentifier(nombre);
puertoParalelo=(ParallelPort) idPort.open("CODIGO.JAVA@HOTMAIL.COM", 888);
salida = puertoParalelo.getOutputStream();
System.out.println("Puerto "+nombre+" iniciado ...");
} catch (Exception e) {
System.out.println("Error en iniciarPuerto() \n"+e);
}
}

public void cerrarPuerto(){


try {
salida.close();
} catch (Exception e) {
System.out.println("Error en cerrarPuerto() \n"+e);
}
System.out.println("Puerto "+nombre+" cerrado ...");
}

public void escribirEnPuerto(int dato){


try {
salida.write(dato);
System.out.println("Dato "+dato+" escrito en Puerto "+nombre+" ...");
} catch (Exception e) {
System.out.println("Error en escribirEnPuerto() \n"+e);
}

}
public static void main(String args[]) {
try {
ControlPuertos cp= new ControlPuertos();
cp.iniciarPuerto();
cp.escribirEnPuerto(0);
for (int i = 0; i<10; i++){
for (int j = 0; j<400; j++){
cp.escribirEnPuerto(i);
}
}
cp.cerrarPuerto();
} catch (Exception e) {
System.out.println(e);
}
}

Otras cosas que tienes que tener en cuenta es lo siguiente.


El puerto paralelo se divide en 4 puertos, y cada uno de estos puertos tiene una dirección:

Nombre Pines Dirección(en decimal) Función


Masa 18-25 - -
Datos 2-9 888 Escritura
Estado 10-13, 15 889 Lectura
Control 1, 14, 16, 17 890 Lecto/Escritura

Por esto se escribe 888:


puertoParalelo=(ParallelPort) idPort.open("CODIGO.JAVA@HOTMAIL.COM", 888);
Para decir que es el puerto de datos.
En: salida.write(dato);
El dato el lo convierte en binario, entonces si escribimos 255 lo convierte en 11111111 el
equivalente en binario.
No olvides que hay que cerrar el puerto con cp.cerrarPuerto(); o con salida.close(); luego de
terminar, bueno yo no tengo mucha experiencia en esto, pero rompi el proceso de java pq
había hecho un ciclo infinto y luego no podía pq aunque desconecte el pc el hijueadre seguía
ocupao con el ciclo infinito.
Ha y utilice es API javacomm 2.0.3

También podría gustarte