Descargar

Encendido de LEDs mediante programa JAVA

Enviado por Juan Marcelo


  1. Objetivos
  2. Materiales
  3. Armado de circuito.
  4. Programa para el controlador de leds e Java
  5. Presentación del proyecto

Objetivos

Es aplicar uno de los programas java en circuitos como ser encendido y apagado de leds.

Nuestro objetivo es controlar los diodos LEDs con la computadora, esto es encenderlos y apagarlos según como queramos. Los LEDs son diodos que tienen la capacidad de emitir luz cuando circula una corriente por ellos. Esta corriente debe ser del orden de los 10 mA (miliampers). Para limitar la corriente que pasa por los LEDs se usan las resistencias que se oponen al paso de ella.

Materiales

  • 8 leds de diferentes colores

  • 1 Protoboard

  • Cable UTP (1 metro o metro y medio)

  • 8 resistencias de 1 kilo ohmio

  • Unos cuantos pedazos de alambre (puede ser del mismo UTP)

Armado de circuito.

Antes de ver el desarrollo del programa vamos a ver cómo armar el circuito. De hecho es muy sencillo, y se basa en el siguiente diagrama:

edu.red

edu.red

Como se puede apreciar en las fotografías es un armado de circuito simple ya que todas las conexiones van linealmente

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 unir 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 unir 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 solo ocho LEDs los que controlamos. Las ocho salidas están conectadas por medio de una resistencia limitadora de corriente a una LED cada una. Estas resistencias son de un valor de 1 K ohm y permite que circule una corriente de 10 mA (miliampere) por cada diodo.

Las siguientes imágenes pueden ayudar a apreciar mejor la conexión del circuito:

edu.red

edu.red

Programa para el controlador de leds e Java

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); // 0x378 normalmente es utilizado para impresora LPT1

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 ();

}

}

Programa con ventana

importparport.ParallelPort;

importjava.lang.*;

import java.io.*;

importjavax.swing.JOptionPane;

importjava.awt.*;

importjava.awt.event.*;

public class puebloleds

{

//——————————————

static Frame ventana = new Frame ();

public static class Aplicacion

{

privateParallelPort lpt1;

publicAplicacion () throws IOException

{

int pin = 0;

BufferedReader w = new BufferedReader (new InputStreamReader (System.in));

lpt1 = new ParallelPort (888); // 0x378 normalmente es utilizado para impresora LPT1

intopcion = 0;

String a = "Pueblo de luces Ledsn" + "1. Prender Casa Amarilla Habitacion 1n";

a = a + "2. Prender Almacen n" + "3. Casa Amarilla Habitacion 2n";

a = a + "4. Prender Iglesia Salonn" + "5. Prender Letrero del Almacenn";

a = a + "6. Prender Iglesia Campanario n" + "7. Prender Atico de la Cabañan";

a = a + "8. Prender La Cabañan" + "9. Apagar Todas las luces n";

a = a + "10. Prender Todas las luces n" + "11. SALIR n ";

do

{

opcion = Integer.parseInt (JOptionPane.showInputDialog (a));

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

{

newAplicacion ();

}

}

Presentación del proyecto

edu.red

AQUÍ SE PUEDE APRECIAR EL TRABAJO EN SU ACAVADO TOTAL

edu.rededu.red

PARTES DE LA MAQUETA CON EL ENSENDIDO DE LEDS

edu.rededu.red

VISTA INTERIOR DEL ENSENDIDO Y CABLEADO

VISTA DE LA MAQUETA DE NOCHE

edu.rededu.red

 

 

Autor:

Univ. Victor BenignoMachicado Mamani

Univ. Juan Marcelo Quispe Callisaya

Univ. Edgar Gonzalo Murillo Tinini

Universidad Mayor de San Andrés

Facultad de Ingeniería

IngenieríaMetalúrgica y de Materiales

edu.red