Pagina Principal Eléctrica Sistemas Mail: fom22ar@yahoo.com.ar
Nota: Hace mucho tiempo que no revizo esta Pagina y que no agrego ningun proyecto. Ahora me encuentro trabajando con PHP y estoy diseñando el siguiente sitio. Ir al Sitio 
Ver todos los Proyectos Proyecto: Semáforo para peatones
Proyecto: Control de Puerto Paralelo Proyecto: Control de calefacción

Proyecto: Puerto Paralelo

Fecha de Inicio: 01/07/2002
Ultima Modificación: 

Si tienes algo interesante que decir o quieres aportar algo mándame un E-Mail.

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 dirección de este puerto, para saberla la podemos obtener de distintas maneras:

 

Para nuestro propósito en este caso el que vamos a utilizar será el DataPort ya que es el  puerto que envía 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 relación:

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

Con estos conocimientos estamos apto para la  fase de programación, 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 dirección 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 daría 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 daría 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 daría 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.

También tenes que incluir una Librería "Inpout32.dll"

Programación

En un nuevo Proyecto de Visual Basic debemos incluir un Formulario y dos módulos. Aquí están los códigos:

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 Electrónico

A esta salida del Puerto paralelo la podes utilizar para controlar artefactos domésticos o para otras cosas, por ejemplo con un circuito electrónico bien realizado podes utilizar esos 5 Vcc para disparar un Triac y asi podes hacer pasar a través 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 (Lámpara, Televisor, etc.).
Aquí te propongo un circuito electrónico 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

 

setstats 1

Nedstat Basic - Free web site statistics

Hosted by www.Geocities.ws
GridHoster Web Hosting
1