Para el encendido de focos con leds se debe de seguir una frecuencia depasos y saber que librerías usar para el programa java , según el LPT1 pasan 5volts y una luz leds soporta 1.5 volts , necesitamos poner resistencia para queno se nos quemen las ampolletas , hay una fórmula para sacar los ohm quenecesita la resistencia según el voltaje que le llega a la led , el voltaje quenecesita y la corriente por la led .
OBJETIVO
El objetivo de este proyecto es hacer encender focos leds armando uncircuito especificado que nos permita hacerlo funcionar utilizando un programaen java .
El puerto paralelo
El puerto LPT1 tiene 25 pines que están distribuidos de la siguiente manera:
8 Pines de Salida desde el D7 al D0
5 Pines de Status S3 al S7
4 Pines de Control C0 al C3
8 Pines de Tierra o Neutro 18 al 25
Lo que debemos hacer es enviar datos a través de los Pines D7 al D0y conectar cada led a uno de estos pines Como Nuestro el siguiente diagrama:
Ahora tenemos que enviar la información al determinado pin, en la siguientetabla muestra de mejor manera como enviarle la información a un pin especifico:
DATOS IMPORTANTES:
· Si queremos enviar datos al Pin D7 tenemos queescribir 2^7
· Si queremos enviar datos al Pin D5 tenemos queescribir 2^5
Materiales
· Cable de teléfono
· 3 optocopladores
· 6 resistencias
· 1protoboard
· 1 Conector LPT1
· 3 focos leds
· Cautín, Soldadura
Armado de Leds en baseprotocoplador
Lo siguiente es Soldar los cables segun el diagrama que está arriba.
Después soldamos cada cable a algun alfiler para usarlo de pin
Ponemos los alfileres en el LPT1 (Todo en base al diagrama de más arriba)
Y aislamos todo con la huincha aisladora para que no se nos junten loscables y provoque algún daño en nuestra PC
(A mí el diagrama no me resulto del todo, tube que empezar a poner lospines no del D7, sino que desde el S6, un pin mas a la izquierda).
Programación en el sistema Java
Con toda la conexión hecha ahora solo es cosa de empezar a programar, paraeso usaremos la solución 2 para el puerto paralelo con java que puseanteriormente.
Y por ultimo una clase que contenga el main y cree una instancia a nuestraaplicaciónClase Led.java
import parport.ParallelPort;
import java .io.*;
public class Led {
//clase para manejar los led
public static class Aplicacion {
private ParallelPort lpt1;
public Aplicacion()throws IOException
{
BufferedReader w=new BufferedReader(new InputStreamReader(System.in));
lpt1 = new ParallelPort(0x378); // 0x378 is normally the base address forthe LPT1 port
int opcion=0;
do {
//System.out.println("1) Prender PIN 7." );
//System.out.println("2) Prender PIN 6." );
//System.out.println("3) Prender PIN 5." );
//System.out.println("4) Prender PIN 4." );
//System.out.println("5) Prender PIN 3." );
System.out.println("1) Prender PIN 2." );
System.out.println("2) Prender PIN 1." );
System.out.println("3) Prender PIN 0." );
System.out.println("7) Apagar Todas." );
System.out.println("8) Prender Todas." );
System.out.println("9) Salir." );
opcion = Integer.parseInt(w.readLine());
lpt1.write(getOpcion(opcion));
}while(opcion!=9);
}
public int getOpcion(int opcion) {
int pin=0;
switch(opcion){
case 1 :
pin = (int)Math.pow(2,8);
break;
case 2 :
pin = (int)Math.pow(2,7);
break;
case 3 :
pin = (int)Math.pow(2,6);
break;
/* case 4 :
pin = (int)Math.pow(2,6);
break;
case 5 :
pin = (int)Math.pow(2,7);
break;
case 6 :
pin = (int)Math.pow(2,8);
break;*/
case 7 :
pin = 0;
break;
case 8 :
pin = 255;
break;
}
return pin;
}
}
public static void main(String[] args)throws IOException
{
new Aplicacion();
}
}
Anexos
BIBLIOGRAFIA UTILIZADA PARA REALIZAR ESTE POST
http://macul.olx.cl/iluminacion-eficiente- focos -led-tecnologia-led-lamparas-led-ahorro-energia-iid-30620774
http://galdakao.campusanuncios.com/se-vende-barra-de-4- focos -led-con-efectos-iid-192000641
http://es.wikipedia.org/wiki/Led
http://taecasahabitacion.blogspot.com/2009/09/led-iluminacon-ecologica.html
http://www.capitanplaneta.com/la-energia-led-y-sus-virtudes/