Sie sind auf Seite 1von 6

Proyecto para controlar encendido de cualquier artefacto domestico: Puerto Paralelo (triac)

Para empezar debemos saber que un puerto paralelo es el de la impresora, por ejemplo. Este consta de una ficha DB25 hembra. Otra cosa muy importante que hay que tener en cuenta es la direccin de este puerto, para saberla la podemos obtener de distintas maneras:

una de ellas es en el arranque del equipo se puede ir pulsando la tecla "Pause" hasta observar en pantalla parallel port PUERTO_BASE donde PUERTO_BASE puede ser 3BC, 378 o 278. Si se dispone de W95 o Superior haga click en Inicio/ Configuracin/ Panel de control. Y luego seleccione Sistema elija Administrador de dispositivos, luego cliquee en el "+" que aparece a la izquierda de Puertos (COM y LPT), seleccione Puerto de impresora (LPT1) y luego haga click en el botn Propiedades en la nueva ventana cliquee en recursos y observe que intervalo de entrada salida le corresponde.

Ejemplos de Intervalos de E/S: Intervalo de Entrada/Salida Intervalo de Entrada/Salida Intervalo de Entrada/Salida


3BC - 3BF 378 - 37B 278 - 27B

Estos intervalos estn en el sistema de numeracin Hexadecimal. El puerto paralelo consta de 3 bytes que se los denominan DataPort, StatusPort y el ControlPort y sus direcciones son las siguientes ( dependiendo de las direcciones bases que este tenga): DataPort 3BC 378 278 StatusPort ControlPort 3BD 379 279 3BE 37A 27A

Para nuestro propsito en este caso el que vamos a utilizar ser el DataPort ya que es el puerto que enva datos a la impresora o sea es un puerto de salida. Cada Bit que forma este Byte tiene un Pin relacionado en la ficha DB25, y esta es la relacin:

PIN BIT 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7

Con estos conocimientos estamos apto para la fase de programacin, la cual ser realizada en Visual Basic 6.0. La sentencia para dominar este puerto es: Out PuertoDeDato, Dato PuertoDeDato es una variable del tipo Byte que va a contener la direccin del DataPort. Dato es una variable del tipo Byte que va a contener el Dato a escribir, Algunos ejemplos: Dato = 0 El Byte DataPort que dara en formato binario 00000000 , con lo que si dispones de un tester o cualquier otro dispositivo para medir corriente continua, colocando una punta del tester a tierra (Chasis PC, etc) por lo general la punta negra y la otra ( roja) en cualquier pin del 2 al 9 deben darte 0 voltios. Dato = 255 El Byte DataPort que dara en formato binario 11111111, con lo que si dispones de un tester o cualquier otro dispositivo para medir corriente continua, colocando una punta del tester a tierra (Chasis PC, etc) por lo general la punta negra y la otra ( roja) en cualquier pin del 2 al 9 deben darte 5 voltios. Dato = 157 El Byte DataPort que dara en formato binario 10011101, con lo que si dispones de un tester o cualquier otro dispositivo para medir corriente continua, colocando una punta del tester a tierra (Chasis PC, etc) por lo general la punta negra y la otra ( roja) en los pines 2,5,6,7 y 9 tenes que tener 5 voltios y en los pines 3,4 y 8 tenes que tener 0 voltios. Tambin tenes que incluir una Librera "Inpout32.dll" Programacin En un nuevo Proyecto de Visual Basic debemos incluir un Formulario y dos mdulos. Aqu estn los cdigos: Formulario: Form1 Dim ValorPuerto As Byte Private Sub cmdAutor_Click()

MsgBox "Fernando Masino e-mail: fom22ar@yahoo.com.ar", vbOKOnly End Sub Private Sub cmdSalir_Click() End End Sub Private Sub Form_Unload(Cancel As Integer) Call EnviaPuerto(0) End Sub Private Sub PINES_Click(Index As Integer) If ESTADOPIN(Index + 2) = ACTIVADO Then vBYTE = vBYTE - 2 ^ (Index) ESTADOPIN(Index + 2) = DESACTIVADO PINES(Index).BackColor = ROJO Else vBYTE = vBYTE + 2 ^ (Index) ESTADOPIN(Index + 2) = ACTIVADO PINES(Index).BackColor = VERDE End If Call EnviaPuerto(vBYTE) End Sub Private Sub Form_Load() For i = 0 To 7 Me.PINES(i).Caption = "PIN " & Str(i + 2) ESTADOPIN(i + 2) = DESACTIVADO Next i Call EnviaPuerto(0) vBYTE = 0 End Sub Private Sub RESET_Click() Call EnviaPuerto(0) vBYTE = 0 For i = 0 To 7 ESTADOPIN(i + 2) = DESACTIVADO PINES(i).BackColor = ROJO Next i End Sub Private Sub TODOS_Click() Call EnviaPuerto(255)

vBYTE = 255 For i = 0 To 7 ESTADOPIN(i + 2) = ACTIVADO PINES(i).BackColor = VERDE Next i End Sub Modulo: COLORES Option Explicit Public Const ROJO = &HFF& Public Const VERDE = &HFF00& Public Const GRIS = &HC0C0C0 Public Const BLANCO = &HFFFFFF Modulo: Mudule1 Public Const PUERTO_DATOS = &H3BC Public Const ACTIVADO = 1 Public Const DESACTIVADO = 0 Public vBYTE As Byte Public ESTADOPIN(1 To 25) As Integer Declare Sub Out Lib "Inpout32.dll" Alias "Out32" (ByVal Addr%, ByVal Bite As Byte) Declare Function Inp Lib "Inpout32.dll" Alias "Inp32" (ByVal Addr%) As Byte Public Sub EnviaPuerto(ByVal Dato As Byte) Out PUERTO_DATOS, Dato End Sub

El Programa en Visual Basic 6 lo puedes bajar cliqueando debajo: Descargar PuertoParalelo.zip (5 KB) Circuito Electrnico A esta salida del Puerto paralelo la podes utilizar para controlar artefactos domsticos o para otras cosas, por ejemplo con un circuito electrnico bien realizado podes utilizar esos 5 Vcc para disparar un Triac y asi podes hacer pasar a travs de este 220 Vca y con esto encender una luz o el televisor y cuando desactives esa salida el Triac cortara el suministro de voltaje al receptor (Lmpara, Televisor, etc.). Aqu te propongo un circuito electrnico con sus componentes:

Como todos los pines llevan el mismo esquema se dibujo uno solo, si queres podes realizarlo para una, dos, tres o hasta ocho salidas. Componentes: Resistencias R1-16 = 470 ohms 1/4W R17-24 = 1kOhm 1/4W Semiconductores D1-8 = Led 5mm T1-8 = Triac MAC 12N IC1-8 = Optoacoplador MOC 321 Varios Ficha DB25 hembra (para circuito impreso) 8 pares de borneras Disipadores para los Triac T1-8

Ficha DB25, funciones de los distintos pines

<>

Das könnte Ihnen auch gefallen