P. 1
Led

Led

|Views: 288|Likes:
Publicado porJoel Ruiz

More info:

Published by: Joel Ruiz on Feb 22, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

10/19/2014

pdf

text

original

En este tema vamos a ver cómo prender y apagar leds mediante el puerto paralelo del computador.

Para lo cual vamos a necesitar las siguientes herramientas: ○ ○ ○ ○ ○ ○ 3 leds de diferentes colores 1 Protoboard Cable UTP (1 metro o metro y medio) 3 resistencias de 1 kilo ohmio Visual Basic 6.0 Unos cuantos pedazos de alambre (puede ser del mismo UTP)

Es recomendable tener unos cuantos leds más y unas cuantas resistencias más, por si acaso. 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:

Diagrama del circuito Para poder entender mejor el circuito. Vamos a dar ciertos detalles sobre el puerto paralelo: Un puerto paralelo es una interfaz entre una computadora y un periférico cuya principal característica es que los bits de datos viajan juntos enviando un byte completo o más a la vez. Es decir, se implementa un cable o una vía física para cada bit de datos formando un bus. El cable paralelo es el conector físico entre el puerto paralelo y el periférico. En un puerto paralelo habrá una serie de bits de control en vías aparte que irán en ambos sentidos por caminos distintos.

En contraposición al puerto paralelo está el Puerto serie, que envía los datos bit a bit por el mismo hilo. El sistema operativo gestiona las interfaces de puerto paralelo con los nombres LPT1, LPT2 y así sucesivamente, las direcciones base de los dos primeros puertos es: LPT1 = 0×378. LPT2 = 0×278 La estructura consta de tres registros: de control, de estado y de datos. El registro de control es un bidireccional de 4 bits, con un bit de configuración que no tiene conexión al exterior, su dirección en el LPT1 es 0x37A. El registro de estado, se trata de un registro de entrada de información de 5 bits, su dirección en el LPT1 es 0×379. El registro de datos, se compone de 8 bits, es bidireccional. Su dirección en el LPT1 es 0×378. Conector DB25:

Conector DB25

Para limitar la corriente que pasa por los LEDs se usan las resistencias que se oponen al paso de ella. se puede controlar mediante la computadora una fila de LEDs los que se van a encender en una secuencia que nosotros vamos a controlar con un pequeño programa escrito en el lenguaje de programación Visual Basic 6. Los LEDs son diodos que tienen la capacidad de emitir luz cuando circula una corriente por ellos. Cuando se active el pin el led se encenderá. con un simple circuito. Nuestro objetivo es controlar los diodos LEDs con la computadora. Para controlar un circuito externo con la computadora se usará el puerto paralelo de ella. la resistencia se usa para limitar la intensidad y no pedir más de la que el puerto paralelo es capaz de dar (5 mA).0. esto es encenderlos y apagarlos según como queramos.El Dataport se usa como salida El Statusport se usa como entrada El Controlport se usa de las dos formas anteriores Con esos antecedentes ahora vamos a explicar los detalles del circuito: El Circuito Donde dice "Pin puerto paralelo" puede ser cualquier Pin del 2 al 9. En este proyecto lo que se quiere mostrar es como. Esta corriente debe ser del orden de los 10 mA (miliampers). para conectar el puerto con el circuito se necesitará el cable paralelo o conector . llamada “protoboard”. la cual conduce la corriente eléctrica. No olvidar hacer una conexión al pin 25 que es tierra El circuito consiste en un led con una resistencia. El circuito que se va armar será montado sobre una plaqueta.

Estas resistencias son de un valor de 330 ohm y permite que circule una corriente de 10 mA (miliampere) por cada diodo. Las tres salidas están conectadas por medio de una resistencia limitadora de corriente a una LED cada una. solo usaremos los pines numerados del 2 al 9. El paso siguiente es soldar cable fino UTP a los pines internos del conector. Como los pines están numerados del número 1 al 25.DB-25. Circuito armado en el protoboard . ya que son solo tres LEDs los que controlamos. Las siguientes imágenes pueden ayudar a apreciar mejor la conexión del circuito: Grafíco 1. para nuestro circuito y la computadora. Una vez construido el cable se lo puede conectar al protoboard. Solo se deben usar tres entradas y tres salidas. también se tiene que soldar un cable al pin 25 (que es el pin de masa o tierra eléctrica) para tener una descarga a tierra común.

Circuito armado en el protoboard .Grafíco 2. Circuito armado en el protoboard Grafíco 3.

Circuito armado en el protoboard Grafíco 5. Circuito armado en el protoboard .Grafíco 4.

Circuito armado en el protoboard Grafíco 7.Grafíco 6. Circuito armado en el protoboard .

IO. Circuito armado en el protoboard Las imágenes muestran cómo está hecha la conexión en el protoboard.Grafíco 8. Para el presente proyecto se usará la librería io.dll o io. Circuito armado en el protoboard Grafíco 9. ○ El programa Para el programa de Visual Basic 6.dll.DLL proporciona un conjunto de comandos útiles para leer y escribir en los puertos de E/S. El programa que hice lo puedes descargar desde el siguiente enlace: .0 se puede usar la librería inpout32.dll.

seco o húmedo. en el circuito de la figura 2 la LDR . teniendo en cuenta el cambio que experimenta el sensor utilizado. A una entrada digital se le puede adaptar un elemento de mando del estilo del interruptor de la figura 1 para establecer su valor. “si” o “no”. Las primeras 3 respuestas se refieren a valores del tipo digital: sol o nubes. una presión es algo mas complicado. Los primeros se interpretan como un “0” y los segundos como un “1” (ver apendice “Lógica TTL”). El “percibir” los infinitos valores que puede tomar una temperatura. un peso.3ºc La humedad relativa ambiente es del 45%. Muchas señales analógicas se pueden tratar como digitales con circuitos muy sencillos.http://www. Dada la naturaleza de la propia computadora. 12ºc o 38. Las señales digitales se interpretan en el PC utilizando voltajes cercanos a 0 V o a +5 V. frío o calor. dado que todo su funcionamiento se basa en este esquema de “0” y “1”. Es decir. dos valores posibles. esta forma de representar al mundo es la más natural.dll Sensores Por medio de sensores la computadora es capaz de conocer la situación del mundo exterior.net/codigos/vb/varios/prender_y_apagar_leds_mediante_el_puert o_paralelo_usando_visual_basic_6_dot_0.5ºc.25ºc. Por ejemplo. Cualquier dispositivo que se comporte de forma similar a éste es útil para el control de entradas digitales. pero perfectamente posible. Las dos ultimas son de tipo analógico: la temperatura puede ser de -10.mygnet. ¿Cómo es esto? Supongamos que estamos mirando el pronóstico meteorológico y nos enteramos que: Es un día soleado Hace calor El aire es húmedo La Temperatura es de 25.2909 El archivo comprimido contiene el archivo io. la humedad puede tener cualquier valor entre 0% y 100%.

. Mediante un interruptor podemos conocer un dato tipo “si/no” del exterior. las señales analógicas entregadas por este tipo de sensores requerirán la utilización de circuitos de conversión analógico-digital. Puesto que la mayoría de los puertos del PC son digitales.(un tipo especial de resistencia que varía su valor de acuerdo a la luz que recibe) puede variar entre 10 MΩ en oscuridad hasta 600 MΩ a plena luz.

LDR: Un sensor analógico que no podemos leer sin digitalizarlo previamente. cuando llegue el momento los explicaremos paso a paso. > El puerto paralelo En 1981 IBM diseñó el puerto paralelo para manejar impresoras desde su gama . Con un circuito un poco mas elaborado es posible encender o apagar cualquier aparato que funcione con 220v. Podemos encender la calefacción. como mucho permiten iluminar un LED. o bien podemos aumentar el volumen de un televisor un 10% o regular el termostato de una estufa (analógicas). Los puertos digitales del PC nos permiten dar órdenes digitales de forma directa o podemos codificar estas señales digitales mediante un conversor digital/analógico para obtener una salida analógica. subir una persiana o apagar la luz (digitales). > Actuadores Cuando queremos cambiar el entorno podemos hacerlo también de dos maneras: digital o analógicamente. Para encender un LED desde el puerto paralelo es necesario limitar la corriente mediante una resistencia. Pero se pueden utilizar para excitar un relé o un transistor que controlen el actuador. Las salidas digitales no proporcionan mucha potencia. No se preocupen si todavía no comprenden estos esquemas. Ahora empecemos a conocer a fondo los puertos de la PC.

El sistema operativo DOS utilizado en esa época soportaba hasta tres puertos paralelos asignados como LPT1. Desde el punto de vista del hardware. LPT2 y LPT3. de tres registros de 8 bits localizados en direcciones adyacentes del espacio de E/S del PC. puede ser usado como . usando las señales restantes como control de la impresora. 0278h (LPT2) y 03BCh (LPT3). el puerto paralelo consta de tres registros (datos. Desde el punto de vista del software.de microcomputadores PC/XT/AT. y casi siempre desocupado. Estos latches funcionan de la siguiente manera: cuando escribimos un valor en la dirección del puerto. En cualquier PC actual podemos encontrar también este puerto. estado y control) de 8 bits cada uno. Un conector estándar macho de 25 pines aparecía en la parte trasera de la PC con el solo propósito de servir de comunicación (interfaz) con la impresora. como se mencionó antes. sin que debamos mantener nosotros de alguna manera estos valores ahí. Las direcciones base estándar para los puertos paralelos son 0378h (LPT1). El puerto paralelo estándar (SPP) consta. Sin embrago. este permanece presente en los pines del conector hasta que escribamos otro. con ocho líneas de “masa” (o “tierra”). Esto simplifica la programación y la construcción de nuestros circuitos. ya que hoy día las impresoras con conexión USB han reemplazado a las de interfaz paralela. Cada puerto requiere tres direcciones de memoria consecutivas del espacio de E/S (entrada-salida) del procesador para seleccionar todas sus posibilidades. que ocupan tres direcciones de E/S. la función normal del puerto consiste en transferir datos a una impresora mediante 8 líneas de salida de datos. Los registros se definen relativos a la dirección de E/S base (LPT_BASE) y son: LPT_BASE + 0: registro de DATOS LPT_BASE + 1: registro de ESTADO LPT_BASE + 2: registro de CONTROL REGISTROS Nombre DATOS ESTADO CONTROL habitual DIRECCIÓN Puerto 378h 379h 37Ah LPT1 Puerto 278h 279h 27Ah LPT2 E/S Puerto 3BCh 3BDh 3BEh LPT3 Como dijimos antes. generalmente incluido directamente en el motherboard. el puerto consiste en un conector hembra de 25 pines (DB25) con doce salidas latch y cinco entradas.

Aprendamos que función cumplen cada uno de estos pines. Las señales activas a nivel bajo aparecen con la barra de negación (por ejemplo. La figura anterior nos muestra la función de cada “patita” (pin de ahora en adelante) del puerto paralelo. Función que cumple cada pin del conector del puerto paralelo. Strobe). Alto equivale a +5 V y bajo a 0 V en TTL.un puerto E/S de propósito general por cualquier dispositivo o aplicación que se ajuste a sus posibilidades de entrada/salida. Cuando se indica alto o bajo se refiere a la tensión en el pin del conector. para luego ver como podemos aprovechar esto para construir una sencilla interfase: . Las etiquetas indican la función de cada pin cuando tiene conectada una impresora.

13 y 15.4 líneas son de control (bits de CONTROL). numerados del más significativo al menos: 17. indicando los que están en “1” con un led encendido. . ver apéndice al final) que nos sirva como “piloto” para conocer el estado de cada pin. 14 y 1. y los que están en “0” con un led apagado. únicamente modificables a través del hardware externo..Las líneas de la 18 a la 25 son la tierra. 16. y van del pin 2 (dato 0. D0) al pin 9 (dato 7. por tanto.8 líneas (pines) son para salida de datos (bits de DATOS). del más al menos significativo. . es decir que tanto podemos escribir un dato en el y leerlo desde nuestra interfaz (usarlo como salida de información) como leer en el los datos que la interfaz escriba en el puerto. D7). y casi siempre deberemos utilizar un circuito que amplifique esta señal para poder hacer algo útil con ella. Habitualmente son salidas. > Monitor del puerto paralelo Este sencillo circuito nos permitirá conocer el estado de cada uno de los pines de datos del puerto paralelo. la corriente entregada es suficiente como para por ejemplo encender un led (diodo emisor de luz. se pueden modificar tanto por software como por hardware. . 12. Las 8 líneas de datos en un puerto paralelo moderno son bidireccionales. Este será nuestro primer circuito practico. 10. . aunque se pueden utilizar también como entradas y. Estos pines son: 11. Sus valores son únicamente modificables a través de software. Sin embargo.5 líneas son de entrada de datos (bits de ESTADO). Debemos tener presente que la capacidad del puerto de entregar corriente por estos pines es muy limitada.

En el esquema vemos que cada uno de los pines de datos del puerto se encuentra conectado a una resistencia de 330 ohms. ya que si los conectamos directamente al puerto circularía por ellos una corriente excesiva y los podríamos quemar. La función que cumplen las resistencias es limitar la corriente que circule por cada led. .Circuito de nuestro monitor de puerto paralelo. Como se trata de un circuito muy simple. y esta al ánodo del led. lo construiremos soldando directamente las resistencias y los leds a una ficha DB25. El cátodo de cada led se conecta a masa (cualquiera de los pines del 18 al 25). así nos evitamos el construir una plaqueta de circuito impreso.

En este ultimo caso. podemos comprar un cable de extensión para el puerto paralelo. . En caso que debido a la posición del CPU sea imposible ver los LEDs conectados de esta manera. y luego el ánodo de cada led al otro extremo de las resistencias. Etapas en la construcción de nuestro monitor. y tener cuidado de aislar bien todos los terminales para evitar que un cortocircuito termine con el puerto.Los componentes necesarios para este circuito los conseguimos en cualquier casa de electrónica. y su costo total difícilmente supere los 3 o 4 u$s. hay que usar un teste para identificar a que pin corresponde cada cable. También uniremos entre si todos los terminales correspondientes a los cátodos de los leds y el pin 18 del puerto. Primero soldamos uno de los terminales de las resistencias a cada uno de los pines 2 al 9 del conector. o bien a un cable de impresora sacarle la ficha del lado de esta y soldar ahí los LEDs y resistencias. Es una buena idea tener a mano un alicate para cortar los terminales de los leds y las resistencias. También necesitaremos un soldador de unos 20 o 30 Watts y algo de alambre de estaño con núcleo de resina.

El listado del código de este formulario es el siguiente: Sub Form_Load () 'Genera el contenido del combo Puertos. Puerto. Necesitaremos una DLL llamada INPOUT32.DLL (o INPOUT16. Para ello usaremos Visual Basic (en este caso la versión 3.BAS con el siguiente contenido: Declare Sub Out Lib "inpout16. También necesitaremos un ComboBox llamado PUERTO que nos permitirá elegir en que LPT tenemos conectado el monitor. Index) . ByVal Value As Integer) Declare Function Inp Lib "inpout16.Dll" Alias "Inp16" (ByVal PortAddress As Integer) As Integer Importante: si usamos la DLL INPOUT32.Dll" Alias "Out16" (ByVal PortAddress As Integer. y creamos un modulo que llamaremos MODULE1. X = Inp(Val(Puerto)) 'Ejecuta la rutina que pone en 0 el bit correspondiente.AddItem "&h3BC" 'Selecciona el LPT1 por default. en el FORM1.AddItem "&h278" Puerto. Puerto. El primero llamado ENC(n) y el segundo APA(n). Dato = BCF(X.FRM deberemos crear dos arrays de botones. En Visual Basic comenzamos un nuevo proyecto.AddItem "&h378" Puerto. Luego.DLL si usamos un Windows de 16 bits).> El software Para controlar los LEDs del monitor podemos bajar de internet un programa ya hecho (hay muchísimos) o bien crear uno. ya que corre sin problemas en casi cualquier computadora y versión de Windows). con 8 elementos cada uno.DLL deberemos cambiar todos los “16” por “32” en el código anterior.ListIndex = 0 End Sub Sub Apa_Click (Index As Integer) Dim X As Integer 'Obtiene el valor presente en el puerto. Estos botones permitirán el encendido y apagado de los LEDS en forma individual.

y un “1” lógico a cualquier voltaje mayor que 3. y es uno de los procedimientos que existen para construir circuitos integrados.5 y menor a 5 voltios. > APENDICE: Lógica TTL Recibe este nombre de “Transistor to Transistor Logic”. Esta lógica considera un “0” lógico a los valores de tensión entre 0 y 2. . Dato = BSF(X.FRM con todos los controles colocados. X = Inp(Val(Puerto)) 'Ejecuta la rutina que pone en 1 el bit correspondiente. Dato End Sub Sub Enc_Click (Index As Integer) Dim X As Integer 'Obtiene el valor presente en el puerto. y un Label explicando que hace cada control. Out Val(Puerto). Out Val(Puerto). Index) 'Envía el dato al puerto.5 voltios. Dato End Sub Aspecto del FORM1.'Envía el dato al puerto.

Esquema y símbolo de un diodo LED. > APENDICE: Componentes a utilizar 1 conector DB25 macho 8 Resistencias de 330 ohm. del que se aprovecha el fotón que se emite al recombinarse un hueco con un electrón en su unión PN. > APENDICE: LED Un LED no es mas que un diodo. Su consumo de corriente es muy bajo. lo que lo hace muy practico para nuestros proyectos. El encapsulado transparente y el pequeño espejo situado bajo la juntura permiten aprovechar esta luz emitida como un indicador luminoso.En este gráfico se puede ver con mayor claridad cada estado lógico y su nivel de tensión. 1/8 watt 8 Leds .

el circuito es por demas de simple. El hard: Se resume en un cable de 5 conductores. a continuacion la descripcion de como construirlo. solo el conector unas resistencias y cuatro leds. cuatro resistencias de 470 ohm y cuatro diodos leds de bajo consumo. se puede reciclar un cable de la interfaz de una disquetera.Circuito y software para encender leds con el puerto paralelo Este es un software y el hardware que hice para encender leds usando el puerto paralelo de la computadora. si se utilizaran leds de alto brillo conviene aumentar el valor de las resistencias a 560 ohm o mas. un conector DB25. ...

en este caso hay que hacer un circuito por cada salida que se quiera utilizar: Actualizacion 2: .rar.html Actualizacion: Si se desea encender y apagar artefactos electricos de mayor consumo se puede utilizar una interfaz con reles como la siguiente. Descargart: http://rapidshare.El software: El software lo realize en visual basic. hay que descomprimirlo en la misma carpeta el la dll. El circuito tambien se puede ampliar para usar los pines del 2 al 9.com/files/144377794/Controlador. para usarlo simplemente hay que hacer click en los circulos para encender o apagar los leds.

.Este es otro circuito para encender artefactos de mayor consumo. en este caso utilizando optocopladores y triacs.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->