Sunteți pe pagina 1din 12

UNIVERSIDAD NACIONAL DEL CALLAO

ESCUELA: INGENIERÍA ELECTRÓNICA

CURSO: PROGRAMACIÓN DIGITAL II

TEMA: CONTROL DE PUERTO PARALLELO EN ENTORNO JAVA

Profesor: Carlos Moreno Paredes

INTEGRANTES:

NOMBRES Y APELLIDOS: CODIGO :

Giovanna Remigio Edones 1123230018

Guido Delgado Caldas 920042-h

CICLO: VERANO 2013

2013
OBJETIVOS :

- Armar un circuito electrónico el cual se pueda manejar mediante un lenguaje de


programación. Para este caso usaremos “JAVA” .

- Demostrar el encendido de luces led mediante el leguaje de programación JAVA.

- Familiarizarnos con el manejo del puerto paralelo, usando JAVA

FUNDAMENTO TEÓRICO CARACTERÍSTICAS DE LAS LUCES LEDs

- Los LEDs son lámparas de estado sólido, es decir sin filamento ni gas inerte que lo rodee,
ni cápsula de vidrio que lo recubra.
El LED (acrónimo del inglés de Light Emitting Diode) o Diodo emisor de luz es un
semiconductor (diodo) unido a dos terminales cátodo y ánodo (negativo y positivo
respectivamente) recubierto por una resina epoxi transparente o traslucida. Cuando una
corriente circula por la juntura semiconductora PN que forma el diodo, se produce un
efecto llamado electroluminiscencia. El color de la luz emitida (longitud de onda),
dependerá del material semiconductor empleado en la construcción del diodo y puede
variar desde el ultravioleta hasta el blanco.

POLARIDAD

- Por tratarse de dispositivos electrónicos semiconductores, los LEDs funcionan con


corriente continua (CC), tienen polaridad; y es imprescindible para su funcionamiento que
sean conectados en el sentido correcto. Para identificar la polaridad de cada terminal, se
observará la longitud de los mismos.
- El terminal más largo es el ánodo que se conectará al positivo (+) del circuito y el
terminal más corto es el cátodo por lo que se conectará al polo negativo o masa del circuito.
También es posible identificar el cátodo observando el encapsulado. El mismo es indicado
con una zona plana o muesca en la circunferencia de la base plástica. En la siguiente figura
se observa un LED rojo en el que se indica la polaridad de sus conexiones y el símbolo del
componente.
CARACTERÍSTICAS ELÉCTRICAS

Forward Current o IF: Es la intensidad de la corriente que circula por el LED. Se mide en
mili Ampere (1 A = 1000 mA). Estos dos parámetros serán los que deberemos asegurar al
calcular los valores de los componentes adicionales del circuito de alimentación. Estas
características deberán ser solicitadas al adquirir los LEDs. En el caso de no disponer de
ellas, se podrán utilizar para los cálculos los valores “genéricos” de la siguiente tabla según
el color y el brillo del LED buscando:Forward Voltaje o VF: Es la tensión en polaridad
directa de trabajo del LED y variará en función del color, de la intensidad luminosa y del
fabricante. Se mide en Volts.
Además de la polaridad, debemos conocer dos especificaciones eléctricas fundamentales
para el correcto conexionado de los LEDs:

CONEXIÓN

Los LEDs suelen trabajar con tensiones de entre 1,5 y 4 Volts y corrientes del orden de los
20 mA por lo que en la gran mayoría de los casos deberemos intercalar una resistencia
limitadora en serie entre los LEDs y la fuente de alimentación. Para el cálculo de esta
resistencia (o resistor) se utiliza la siguiente formula en el caso de que se desee conectar un
solo LED

R = (Vs - Vf) / If
Donde: R es el valor de la resistencia en Ω (Ohm).
VS (Source Voltaje) es la tensión de la fuente de alimentación en Volts.
VF (Fordward Voltaje) es la tensión de polaridad directa del LED en Volts.
IF (Fordwar Current) es la corriente de trabajo del LED en Ampere. Una vez calculada la
resistencia, se seleccionará el componente de valor normalizado más próximo al calculado
y que posea una capacidad de disipación de potencia acorde al circuito. Generalmente esta
potencia será de 1/4 W. En este caso se realizará el conexionado de la siguiente forma.

PUERTO PARALELO 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).
En este conector:
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 (dato 0, D0) al pin 9 (dato 7, D7).
•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. En la siguiente tabla se detallan la nomenclatura y
descripción de cada línea. La columna "Centronics pin" se refiere a las líneas del conector
tipo Centronics usado en las impresoras. La columna E/S se refiere al dato visto desde el
lado del PC.En la siguiente tabla se detallan la nomenclatura y descripción de cada línea.
La columna "Centronics pin" se refiere a las líneas del conector tipo Centronics usado en
las impresoras. La columna E/S se refiere al dato visto desde el lado del PC

El nombre de cada señal corresponde a la misión que cumple cada línea con relación a la
impresora, el periférico para el que fue diseñado el puerto paralelo. Las señales activas a
nivel bajo aparecen con la barra de negación (por ejemplo, Strobe). Cuando se indica alto o
bajo se refiere a la tensión en el pin del conector. Alto equivale a ~5V en TTL y bajo a ~0V
en TTL.
Materiales:

8 luces de leds
7 Resistencias de 470Ω]
Cable paralelo es el cable de conexión para computadores definido por el estándar IEEE
1284
Un protoboard
Cables de Nº12

ARMADO DEL CIRCUITO

Se debe conectar al protoboard las salidas de cable de paralelo las cuales se deben tener en
cuenta de la señales de salida en el caso se usaron los pin “ 2 – 9” los cuales indican las
señales de salida .
Luego se debe conectar las resistencias a cada uno de los pin para poder proteger a los leds
Lugo debemos tener los leds sabiendo perfectamente las polaridades esto mediante
extensiones de cables conectados mediante una soldadura de estaño para mejor empalme de
los cables con los leds.
Una vez armado los leds el cual deben de estar en la maqueta ya asegurados se debe
conectar al tierra el cual indica donde se introduce en el protoboard en este caso se los
pusimos en cada uno de los leds .
Ahora se debe saber cuál de los cables de cable paralelo es de tierra por lo general es de
color negro
BIBLIOGRAFIA
Las páginas usadas que nos ayudaron y merecen el reconocimiento nuestro son:
- La pagina se sixca, con ejemplos de aplicación USB
- MuchoTrasto – ejemplos de aplicaciones USB CDC
- La pagina de Red-Raven con explicación adicional y muy buen contenido.
- No podía faltar la página de www.todopic.com
- Wikipedia
- La biblia de Java
- Aprenda Java como si estuviera en primero
PROGRAMACION EN JAVA PASO A PASO Y CON ETIQUETAS

01 package parport;

// importamos el
02
parport

03 public class ParallelPort {

04 //declaramos la clase

05 /** The port base address (e.g. 0x378 is base address for LPT1) */

06 private int portBase;

// creamos una varible privada


07
entera

08 /** To cunstruct a ParallelPort object,

09 * you need the port base address

10 */

11 public ParallelPort (int portBase)

12 {

13 this.portBase = portBase;

14 }

15 *

16 /** Reads one byte from the STATUS pins of the parallel port.

17 *

18 * The byte read contains 5 valid bits, corresponing to 5 pins of input

19 * from the STATUS pins of the parallel port (the STATUS is located

20 * at "portBase + 1", e.g. the STATUS address for LPT1 is 0x379).

21 *

22 * This diagram shows the content of the byte:

23 *

24 * Bit | Pin # | Printer Status | Inverted

25 * -----+-------+-----------------+-----------

26 * 7 | ~11 | Busy | Yes


27 * 6 | 10 | Acknowledge |

28 * 5 | 12 | Out of paper |

29 * 4 | 13 | Selected |

30 * 3 | 15 | I/O error |

31 *

32 * Note that Pin 11 is inverted, this means that "Hi" input on pin

33 * means 0 on bit 7, "Low" input on pin means 1 on bit 7.

34 */

35 public int read ()

36 {

37 return ParallelPort.readOneByte (this.portBase+1);

38 }

39

40 /** Writes one byte to the DATA pins of parallel port.

41 * The byte is written to the DATA pins of the port. The DATA pins are

42 * located at the base address of the port (e.g. DATA address for LPT1

43 * is 0x378).

44 *

45 * This diagram shows how the byte is written:

46 *

* Bit | Pin # | Printer


47
DATA

48 * -----+-------+--------------

49 * 7 | 9 | DATA 7

50 * 6 | 8 | DATA 6

51 * 5 | 7 | DATA 5

52 * 4 | 6 | DATA 4

53 * 3 | 5 | DATA 3
54 * 2 | 4 | DATA 2

55 * 1 | 3 | DATA 1

56 * 0 | 2 | DATA 0

57 */

58 public void write (int oneByte)

59 {

60 ParallelPort.writeOneByte (this.portBase, oneByte);

61 }

62

63 /** Reads one byte from the specified address.

64 * (normally the address is the STATUS pins of the port)

65 */

66 public static native int readOneByte (int address);

67

68 /** Writes one byte to the specified address

69 * (normally the address is the DATA pins of the port)

70 */

71 public static native void writeOneByte (int address, int oneByte);

72

73 static

74 {

75 System.loadLibrary("parport");

76 }

77 }
Ahora Nuestra Aplicacion
Clase Aplicacion.java
01 import parport.ParallelPort;

02 import java.util.Scanner;

03 public class Aplicacion {

04 private Scanner scanner = new Scanner(System.in);

05 private ParallelPort lpt1;

06 public Aplicacion(){

07 lpt1 = new ParallelPort(0x378); // 0x378 is normally the base address for the LPT1 port

08 int opcion=0;

09 do {

10 System.out.println("1) Prender PIN 7.");

11 System.out.println("2) Prender PIN 6.");

12 System.out.println("3) Prender PIN 5.");

13 System.out.println("4) Prender PIN 4.");

14 System.out.println("5) Prender PIN 3.");

15 System.out.println("6) Prender PIN 2.");

System.out.println("7) Apagar
16
Todas.");

17 System.out.println("8) Prender Todas.");

18 System.out.println("9) Salir.");

19 opcion = Integer.parseInt(scanner.nextLine());

20 lpt1.write(getOpcion(opcion));

21

22 }while(opcion!=9);

23 }

24

25 public int getOpcion(int opcion) {

26 int pin=0;
27 switch(opcion){

28 case 1 :

29 pin = (int)Math.pow(2,3);

30 break;

31 case 2 :

32 pin = (int)Math.pow(2,4);

33 break;

34 case 3 :

35 pin = (int)Math.pow(2,5);

36 break;

37 case 4 :

38 pin = (int)Math.pow(2,6);

39 break;

40 case 5 :

41 pin = (int)Math.pow(2,7);

42 break;

43 case 6 :

44 pin = (int)Math.pow(2,8);

45 break;

46 case 7 :

47 pin = 0;

48 break;

49 case 8 :

50 pin = 255;

51 break;

52 }

53 return pin;

54 }
55 }

y por ultimo una clase que contenga el main y cree una instancia para nuestra aplicacion
Clase Led.java

1 public class Led {

2 public static void main(String[] args) {

3 new Aplicacion();

4 }

5 }

S-ar putea să vă placă și