Story Transcript
UNIVERSIDAD MAYOR DE SAN ANDRES FACULTAD DE INGENIERIA INGENIERIA METALURGICA Y DE MATERIALES COMPUTACION (ELT 256) DOC.: LIC. IRMA PRADO INFORME DEL PROYECTO DE LEEDS LA PAZ, DICIEMBRE DE 2011 PROYECTO DE LEEDS • Objetivos • Detalles Técnicos Preliminares • Funcionamiento del Programa • Diseño y Ensamblaje del Circuito Eléctrico • Puerto Paralelo de la Computadora • Componentes Necesarios • Diagrama Circuito • Tensiones o Voltajes y Frecuencias de Corriente Alterna Utilizadas por Diferentes PaÃ−ses • Conclusión • BibliografÃ−a INTRODUCCIà N Las luces Controlado por Computadora es un circuito práctico y que tiene muchas aplicaciones útiles para cualquier persona en su hogar. Aunque este diseño tiene aplicaciones didácticas (como lo es el contador binario programado), puede ser a su vez utilizado para controlar los focos de una casa desde la computadora, encendiendo y apagando los focos que se desee con toda comodidad y seguridad desde la computadora, asÃ− como también se podrá escuchar los focos que se encuentran encendidos. Este diseño puede ser ampliado y modificado de acuerdo a las necesidades particulares de quien lo quiera implementar. El código completo del programa desarrollado en Visual Basic 2005 es presentado en este documento, de manera que cualquier persona pueda modificarlo y particularizarlo a sus propias necesidades, y a la vez comprender el funcionamiento del sistema en su parte de programación, para lo cual se han escrito múltiples comentarios del código. Finalmente se muestran los componentes y diagrama para desarrollar este circuito, lo cual al momento de escribir este documento no ha sido probado, por lo cual el electricista o desarrollador del proyecto deberá revisar y hacer las modificaciones de acuerdo al Vac con el que vaya a trabajar, y la frecuencia, según lo que le proporcione la compañÃ−a de energÃ−a eléctrica. El funcionamiento del programa está completamente comprobado, por lo cual se garantiza en cada uno de los pines del dos al nueve del puerto paralelo, se tendrán los voltajes correspondientes para generar cada una de las secuencias de luces que han sido programadas, asÃ− como el control de apagado y encendido de los focos por parte del usuario 1
simplemente haciendo clic sobre botones o focos mostrados en el formulario principal del programa, que funciona como consola de control. OBJETIVOS OBJETIVO GENERAL "Programar y hacer funcionar un juego de luces que sea controlado por medio de una computadora." OBJETIVOS ESPECà FICOS • Aprender a enviar valores al puerto paralelo de la computadora mediante herramientas de programación. • Ser capaces de establecer comunicación entre la computadora y un circuito eléctrico externo a ella. • La aplicación de JAVA en este tipo de circuitos. • Proporcionar un sistema para controlar focos de manera eficiente y eficaz a través de la computadora. DETALLES Tà CNICOS PRELIMINARES Este programa está desarrollado en JAVA, pero para su correcto funcionamiento y si se desea modificar el código fuente, deben tomarse en cuenta los siguientes detalles técnicos. DISEà O Y ENSAMBLAJE DEL CIRCUITO ELà CTRICO Hasta este momento se ha dado a conocer toda la parte de software y programación del Juego de Luces Controlado por Computadora. Ahora viene lo que podrÃ−a llamarse "la parte de hardware" de este sistema, pues consiste en armar el circuito y diseñarlo para que sea conectado al puerto paralelo de la computadora y que los focos respondan correctamente a las instrucciones que se les dé a través de la computadora. Pero antes de ello se presentará una breve introducción explicativa sobre el puerto paralelo de la PC. PUERTO PARALELO DE LA COMPUTADORA La imagen de los conectores del puerto paralelo (DB 25) se muestra a continuación: El puerto paralelo contiene a su vez tres puertos, que son los siguientes: Puerto de datos (pines 2 al 9): es el PORT 888 (378 hexadecimal) y es de sólo escritura. Por este registro se envÃ−an los datos al exterior de la PC. CUIDADO: ¡no se deben enviar señales eléctricas al ordenador por estos pines! Puerto de estado (pines 15, 13, 12, 10 y 11): es el PORT 889 (379 hexadecimal) y es de sólo lectura. Por aquÃ− se envÃ−an señales eléctricas al ordenador. De este puerto sólo se utilizan los cinco bits de más peso, que son el bit 7, 6, 5, 4 y 3 teniendo en cuenta que el bit 7 funciona en modo invertido. Puerto de control (pines 1, 14, 16 y 17): es el correspondiente al PORT 890, y es de lectura/escritura, es decir, se podrán enviar o recibir señales eléctricas, según las necesidades que se tengan. De los 8 bits de este registro sólo se utilizan los cuatro de menor peso, o sea el 0, 1, 2 y 3, con un pequeño detalle: los bits 0, 1, y 3 están invertidos. En esta imagen se pueden ver los tres puertos (conocidos como registros), sus bits y los pines asignados a 2
cada uno de ellos. La imagen corresponde a un conector DB-25 (Hembra): COMPONENTES NECESARIOS DESCRIPCIà N Resistencia de 1,2 Kohm Resistencia de 470 Ohm Optoacopladores MOC3011, o su equivalente Zócalos para circuito integrado de 6 patitas Placa para circuito impreso de 12x6 cm Triac BT137 o su equivalente Cable paralelo para impresora Enchufes para 220 Vac Cable de alimentación de 220 Vac Caja plática para el montaje DIAGRAMA CIRCUITAL
CANTIDAD 8 unidades 8 unidades 8 unidades 8 unidades 1 unidad 8 unidades 1 unidad 8 unidades 1 unidad 1 unidad
NOTA SOBRE LOS COMPONENTES NECESARIOS Y DIAGRAMA CIRCUITAL: El circuito puede hacerse en una protoboard en vez de utilizar placa para circuito impreso, realizando las conexiones con alambre. Dependiendo del paÃ−s en el que se encuentre la persona, podrÃ−a no tener la posibilidad de trabajar con 220 Vac, por lo cual deberán hacerse las modificaciones correspondientes a la tabla de componentes necesarios y al diagrama circuital. El funcionamiento del software y la parte de programación de este sistema (presentada al inicio de este documento) está garantizada; sin embargo, la parte de los componentes y el ensamblaje eléctrico deberá ser ajustado de acuerdo al paÃ−s de residencia del desarrollador de este proyecto (realmente de acuerdo a las tensiones o voltajes y frecuencias de corriente alterna con la que se cuente en cada paÃ−s, según lo que proporcionen los proveedores de energÃ−a eléctrica). Será responsabilidad del electricista ajustar los valores y tomar las medidas de precaución respectivas para el buen funcionamiento de este sistema. FOTOS DURANTE LA REALIZACION DEL PROYECTO PROGRAMA PARA ENCENDER LEEDS EN LA CASA GRANDE import parport.ParallelPort; import java.io.*; public class Led { //-----------------------------------------public static class Aplicacion { private ParallelPort lpt1; public Aplicacion()throws IOException {
3
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("CASA GRANDE."); System.out.println("1) dormitorio 1."); System.out.println("2) dormitorio 2."); System.out.println("3) sala ."); System.out.println("4) dormitorio central."); System.out.println("5) sala de estar."); System.out.println("6) luminaria del patio."); System.out.println("7) Apagar Todas."); System.out.println("8) Prender Todas."); System.out.println("9) 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);
4
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 = 0;//apagar todo break; case 8 : pin = 255; //prender todo break; } lpt1.write(pin);//manda a la impresora }while(opcion!=9); } } //---------------------------------public static void main(String[] args)throws IOException { new Aplicacion(); }
5
} PROGRAMA PARA ENCENDER LEEDS EN LA CASITA import parport.ParallelPort; import java.io.*; public class Led { //-----------------------------------------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 ("casita"); System.out.println ("1) luminaria."); System.out.println ("2) luminaria 2."); System.out.println ("3) sanitario."); System.out.println ("4) dormitorio central."); System.out.println ("5) luz de entrada."); System.out.println ("6) luminaria del patio."); System.out.println ("7) Apagar Todas.");
6
System.out.println ("8) Prender Todas."); System.out.println ("9) 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 = 0; //apagar todo
7
break; case 8: pin = 255; //prender todo break; } lpt1.write (pin); //manda a la impresora } while (opcion != 9); } } //---------------------------------public static void main (String[] args) throws IOException { new Aplicacion (); } } CONCLUSIà N Desarrollar este proyecto tiene grandes beneficios, pues además de la utilidad y las múltiples aplicaciones prácticas que tiene este sistema para uso residencial, sirve como base o fundamento para la creación de nuevos proyectos similares, donde el único lÃ−mite es la imaginación y creatividad, pues existen muchas secuencias de luces que se pueden generar, asÃ− como también se puede utilizar el puerto paralelo para hacer muchos otros circuitos similares o diferentes, utilizando como base el programa presentado, el cual puede ser modificado o personalizado de acuerdo a las preferencias o necesidades de cada persona. Antes de la llegada de las conexiones USB, las impresoras se conectaban a la computadora utilizando el puerto paralelo, conocido también como DB25. Sin embargo, como se ha demostrado, el puerto paralelo puede ser utilizado para mucho más que únicamente impresoras. Es innumerable la cantidad de circuitos y aplicaciones útiles que se pueden desarrollar a través de los pines del puerto paralelo. Este esfuerzo, aunque requiere mucho tiempo y dedicación, es de gran importancia de manera especial para los estudiantes de ingenierÃ−a, pues además de requerir poner en práctica habilidades de programación, requiere también aplicar conocimientos de electrónica, por lo que constituye un proyecto de gran valor para el aprendizaje, y de gran beneficio por las muchas aplicaciones que se le puede dar. Una de las aplicaciones más obvias serÃ−a en el área de instalaciones eléctricas residenciales, que cada foco se encuentren en un lugar diferente de una casa, y que a través de la computadora se puedan controlar todas 8
las luces, encendiéndolas y apagándolas según las necesidades y de forma creativa, innovadora y completamente original. BIBLIOGRAFà A • Digitalperuana: Los Especialistas en Luces y Efectos Especiales para Discotecas. Juego de Luces Controlado por una Computadora. ExtraÃ−do en enero, 2008, de • The Code Project - Your Development Resource. Resources from Parallel Port using Inpout32.dll. ExtraÃ−do en marzo, 2008, de http://www.codeproject.com/KB/vb/Inpout32_read.aspx • Ero-Pic - Una Gran Colección de Tutoriales de Electrónica. Puerto Paralelo. ExtraÃ−do el 10 de abril, 2008, de http://perso.wanadoo.es/luis_ju/puerto/port01.html • ASà FUNCIONA. Tensiones o Voltajes y Frecuencias de Corriente Alterna Utilizadas por Diferentes PaÃ−ses. ExtraÃ−do el 10 de abril, 2008, de http://www.asifunciona.com/tablas/voltaje_paises/voltaje_paises_2.htm Computación (ELT 256) Universidad Mayor de San Andrés Proyecto de Leeds
9