Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Encendido de Leds por programa de computadora (casa de 8 leds)



  1. Introducción
  2. Procedimiento
  3. Trabajo finalizado

Introducción

La finalidad de este proyecto es de crear un programa en
Java que permita el encendido de led´s de una casa. Para
ello son necesarios los conocimientos respecto a
programación y circuitos.

Se necesita un Protoboard, un Cable UTP, ocho
resistencias de 1 kilo ohmio, unos cuantos pedazos de alambre de
cobre para haber las conexiones.

Para empezar se debe habilitar el puerto paralelo de la
impresora:

OBJETIVO:

Aplicar los conocimientos obtenidos en el curso de
PROGRAMACIÓN I y relacionarlos con los conceptos
básicos de circuitos.

Procedimiento

Para desbloquear el puerto de la impresora ingrese al
panel de control y haga clic en SISTEMA Y SEGURIDAD

Monografias.com

Luego clic en hardware y sonido

Monografias.com

Clic en administrador de dispositivos:

Monografias.com

Ahora seleccione puerto de impresora:

Monografias.com

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

Monografias.com

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

Monografias.com

ACEPTAR todo y terminar. Con lo que se habilitara el
puerto a nivel sistema operativo.

  • 1. Descargamos el archivo javacom20-win
    32-ok.rar
    de la plataforma virtual y lo
    descomprimimos.

  • 2. De la carpeta descomprimida abrimos la
    carpeta llamada FilesCommAPI, de esta carpeta copiamos
    el archivo parport.dll a la capeta bin del
    READY TO PROGRAM, luego copiamos el archivo win32.dll
    al directorio C:Archivos de programaJavajrebin,
    luego copiamos el archivo javax.comm.properties al
    directorio C:Archivos de programaJavajrelib y por
    último copiamos el archivo comm.jar al
    directorio C:Archivos de
    programaJavajrelibext.

  • 3. De la carpeta descomprimida abrimos la
    carpeta llamada Driver y copiamos el archivo
    UserPort.sys al directorio
    C:WINDOWSsystem32drivers

  • 4. De la carpeta descomprimida abrimos la
    carpeta llamada Driver y ejecutamos el programa
    llamado UserPort:

Monografias.com

Como segundo paso, procedemos a crear un
paquete:

  • 1. Creamos una carpeta con el nombre de
    parport en el directorio C:Archivos de
    programaReady to Program

Monografias.com

  • 2. Creamos un nuevo programa con READY TO
    PROGRAM y copiamos lo siguiente :

package parport;

 

public class ParallelPort {

 

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

private int portBase;

 

/** To cunstruct a ParallelPort object,

* you need the port base address

*/

public ParallelPort (int portBase)

{

this.portBase = portBase;

}

 

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

*

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

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

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

*

* This diagram shows the content of the byte:

*  Bit | Pin # | Printer Status  |
Inverted

* —–+——-+—————–+———–

*   7  |  ~11  |
Busy           
|   Yes

*   6  |   10  |
Acknowledge     |

*   5  |   12  | Out of
paper    |

*   4  |   13  |
Selected        |

*   3  |   15  | I/O
error       |

*

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

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

*/

public int read ()

{

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

}

 

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

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

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

* is 0x378).

*

* This diagram shows how the byte is written:

*

*  Bit | Pin # | Printer DATA

* —–+——-+————–

*   7  |   9  
|   DATA 7

*   6  |   8  
|   DATA 6

*   5  |   7  
|   DATA 5

*   4  |   6  
|   DATA 4

*   3  |   5  
|   DATA 3

*   2  |   4  
|   DATA 2

*   1  |   3  
|   DATA 1

*   0  |   2  
|   DATA 0

*/

public void write (int oneByte)

{

ParallelPort.writeOneByte (this.portBase,
oneByte);

}

 

/** Reads one byte from the specified
address.

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

*/

public static native int readOneByte (int
address);

 

/** Writes one byte to the specified address

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

*/

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

 

static

{

System.loadLibrary("parport");

}

}

Luego de haberlo copiado lo guardamos y lo compilamos en
la carpeta creada parport, este programa no correrá
ya que es un paquete que estamos creando para el programa
principal, por eso es que solamente lo compilamos. Así
concluimos con la creación del paquete.

Ahora creamos el programa principal:

  • 1. Creamos un nuevo programa con READY TO
    PROGRAM y copiamos lo siguiente :

import parport.ParallelPort;

import java.io.*;

public class Led8

{

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 las
habitaciones.");

System.out.println ("10) Prender todas las
habitaciones.");

System.out.println ("11) Salir.");

opcion = Integer.parseInt (w.readLine ());

switch (opcion)

{

case 1:

pin = (int) Math.pow (2, 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;

break;

case 10:

pin = 255;

break;

}

lpt1.write (pin);

}

while (opcion != 11);

}

}

public static void main (String[] args) throws
IOException

{

new Aplicacion ();

}

}

  • 2. Luego de haber copiado el programa lo
    guardamos y también lo compilamos en el directorio
    C:Archivos de programaReady to Program

  • 3. Ejecutamos el programa y ya está
    listo para usarse.

Ahora es el turno de llevar todo al protoboard para que
el circuito funcione.

Debemos tener claro algunos conceptos:

Protoboard: es un tablero con orificios conectados
eléctricamente entre sí, habitualmente siguiendo
patrones de líneas, en el cual se pueden
insertar componentes electrónicos y cables para
el armado y prototipado de circuitos electrónicos y
sistemas similares. Está hecho de dos materiales, un
aislante, generalmente un plástico, y un conductor que
conecta los diversos orificios entre sí. Uno de sus usos
principales es la creación y comprobación de
prototipos de circuitos electrónicos antes de llegar a la
impresión mecánica del circuito en sistemas de
producción comercial.

Diodo led: se refiere a un componente opto
electrónico pasivo,  más concretamente,
un diodo que emite luz. Este posee dos patitas,
siendo la más larga la positiva y la pequeña la
negativa. No resiste más de 0.7 voltios es por eso que es
indispensable el uso de las resistencias.

Resistencia: Es un material formado por carbón y
otros elementos resistivos para disminuir la corriente que pasa.
Se opone al paso de la corriente. La corriente máxima en
un resistor viene condicionada por la máxima potencia que
pueda disipar su cuerpo. Esta potencia se puede identificar
visualmente a partir del diámetro sin que sea necesaria
otra indicación. Los valores más comunes son 0,25
W, 0,5 W y 1 W.

El diodo led debe estar en serie con la
resistencia:

Monografias.com

Monografias.com

Las conexiones van de manera lineal.

Con el cable paralelo o conector DB-25, se unirán
los cables del que saldrán del protoboard. Como los pines
están numerados del número 1 al 25, solo se usan
los pines numerados del 2 al 9, también se tiene que unir
un cable al pin 25 (que es el pin de masa
tierra eléctrica) para tener una descarga
a tierra común.

Monografias.com

Monografias.com

Cuando se tiene el circuito incluido en la maqueta de la
casa, se procede a ejecutar el programa para ver su
funcionalidad.

Los típicos problemas que se presentan
son:

Encendido de led´s: que se debe generalmente
porque no se distinguió bien la parte positiva y negativa.
Es necesario que cada patita se envuelva en cinta aislante para
evitar que se produzca un corte y se queme el led.

La conexión de la parte positiva va al protoboard
y de ahí. En serie, sale la resistencia la otra parte se
debe aterrar para que después, se coloque un nuevo cable
que salga directo al cable del puerto.

Otro problema por el que no suelen encenderse los
led´s es porque están sueltas las conexiones del
conector DB-25. Es una buena opción asegurarlas con cinta
aislante.

Trabajo
finalizado

Monografias.com

Monografias.com

 

 

Autor:

Arandia Fuentes Iver

Miranda Lara David

Nieto Navarro Soraide
Tamara

Pinell Velarde Gonzalo

Sardinas Zuna Jorge

Vega Chuquimia Karen

UNIVERSIDAD CATOLÍCA BOLIVIANA "SAN
PABLO"

PROGRAMACIÓN I

DOCENTE: Msc. IRMA PRADO
VILLARROEL

ESTUDIANTES:

SEMESTRE:

2-2013

LA PAZ- BOLIVIA

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter