TODOPIC

Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: olotill en 19 de Octubre de 2005, 00:47:00

Título: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: olotill en 19 de Octubre de 2005, 00:47:00
Hola compadres...

Pues bien ya me ven aqui, empezando a aprender VB pues con la ayuda de mi brother Lord_Lafebre y por supuesto con la ayuda de todos nuestros grandes foristas...

Pues bien, este tema esta abierto para empezar a postear ejemplos de comunicacion entre Pic y PC via puerto Paralelo LPT, y el soft de interfase pues vamos a manejar el famosisimo VB..

Bueno yo no se mucho pero vamos a aprender porque mi profesor Lord_Lafebre nos va a dar clases con las cuales el manejo de este puerto se hace sencillo..

y pues vamos a empezar a subir ejemplos... probarlos y seguir con nuevos...

Luego nos vamos por RS232 y al final nos vamos por USB...

Tiempo estimado:  Uyyyyy mejor pongamos ejemplos Sonrisa Gigante  Muchas risas

Ok compadres, entonces esperamos sus mensajes

SALUDOS Y UN ABRAZO DESDE MI ECUADOR  RebotadoRebotadoRebotado
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 19 de Octubre de 2005, 00:56:00
Hola:

Pues gracias por las flores Olotill pero yo tambien soy principiante... antes que nada mi propuesta seria antes de meternos con el pic hacer unos ejemplos sencillos con todos los puertos es decir el de Datos Estados Y control... po lo que aconsejo que empecemos con el de Datos... y utilicemos lo siguiente...

Un buffer 74Ls244 ó 74LS245
8 resistencias de 220 ohms
8leds....

y fuente de alimentacion de CC de 5V....

Si alguien se anima a participar o tiene alguna sugerencia, pues ya saben que aqui estamos para aprender o darnos concejos o comentarios... Sonrisa Gigante

PD: pensaba poner hoy mismo el esquema pero ya me duermo... pero mañana en la mañana lo hago... Sonrisa Gigante
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 19 de Octubre de 2005, 09:38:00
Hola:

Aqui esta el esquema para un 74LS245 y estoy utilizando proteus con las librerias de la pagina del pana Yoel Ocmin que la pueden encontrar aqui:





http://proyectosfie.tk/  ---->puertos ----->puerto paralelo

Estan las librerias para VB y tambien para proteus, con esto nos ahorramos de hacer los circuitos en un Protoboard... Sonrisa Gigante
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 19 de Octubre de 2005, 10:32:00
Hola:

Pues ¡¡¡YA ESTA!!!....

aqui les pongo el primer ejemplo:



El programa es muy sencillo:

en el formulario va esto:

Codigo:
Option Explicit
Dim dato As Integer

Private Sub Command1_Click()
    dato = Val(txt)
    If dato > 255 Or dato < 0 Then
        MsgBox "Ingrese numeros entre 0 - 255"
        txt = 0
    Else
        Escribir &H378, dato
    End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Escribir &H378, 0
End Sub


Y tambien esta un modulo en el cual va la declaracion para el uso de la libreria:

Codigo:
Public Declare Function Leer Lib "Inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Byte
Public Declare Sub Escribir Lib "Inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Byte)
Public Declare Sub Sleep Lib "Kernel32.dll" (ByVal PortAddress As Integer)


Es muy sencillo...! Sonrisa Gigante
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 19 de Octubre de 2005, 11:48:00
Hola:

Aqui les pongo otro ejemplito, esta ves con barios command button uno para cada bit.... en la tarde subo los ejemplos al almacen...

Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 19 de Octubre de 2005, 12:59:00
Hola:

Aqui estan los archivos del primer ejemplo, lo colgue en rapidshare porque para variar mi @ esta con problemas, pero cuando se arregle lo cuelgo en el almacen.... Sonrisa Gigante

http://rapidshare.de/files/6489438/Ejemplo_1__lpt_.rar.html
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 19 de Octubre de 2005, 13:03:00
Hola:

Aqui esta el segundo ejemplo:

http://rapidshare.de/files/6489734/Ejemplo_2__lpt_.rar.html
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: lord_10 en 19 de Octubre de 2005, 21:28:00
Muy bien pana Giovanni Sonrisa Gigante arreglo el problema de mi pc y cuando quede bien  me uno al hilo Giño

Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 19 de Octubre de 2005, 22:42:00
Hola:

Te doy un remedio eficaz para tu PC... dale Format C: y queda como nueva... ja ja ja ja.... Sonrisa Gigante Muchas risas

Ya sabes cualquier cosa estamos aui para ayudar en lo que se pueda...! vas a ver que le coges mucho cariño al Basic.... es algo facil de aprender....
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 20 de Octubre de 2005, 13:23:00
Hola:

Les propongo ahora lo siguiente:

Hacer un contador de 0-9 y visualizarlo en un display...

Lo que he hecho para visual basic es crear un vector e ir almacenando en cada posicion los valores correcpondientes para generar cada numero...

Adicionalmente hice una matriz de controles de un Image para asignar dibujos con los numeros del display... y para ir visualizando el conteo e asignado cada subindice a otra imagen es decir asignando a una imagen adicional cada subindice de la matriz para que tome el efecto del conteo... este es el codigo:

Codigo:
Option Explicit
Dim i As Integer
Dim vec(16) As Integer

Private Sub Command1_Click()
    For i = 0 To 9
        Display2.Picture = Display(i)
        Escribir &H378, vec(i)
        Delay (0.5)
    Next i
End Sub

Private Sub Command2_Click()
    Escribir &H378, 0
    End
End Sub

Private Sub Form_Load()
    vec(0) = BinADec(111111)
    vec(1) = BinADec(110)
    vec(2) = BinADec(1011011)
    vec(3) = BinADec(1001111)
    vec(4) = BinADec(1100110)
    vec(5) = BinADec(1101101)
    vec(6) = BinADec(1111101)
    vec(7) = BinADec(111)
    vec(8) = BinADec(1111111)
    vec(9) = BinADec(1101111)
    Escribir &H378, vec(0)
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Escribir &H378, 0
End Sub


y aqui el como funciona el ejemplo:



Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 20 de Octubre de 2005, 13:30:00
Hola:

Aqui estan los archivos del ejemplo anterior....

http://miarroba.com/foros/ver.php?foroid=348538&temaid=3745726
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: olotill en 20 de Octubre de 2005, 19:37:00
Que hubo hermano Lord..

Pues te cuento que todo va bien, y he realizado ya los dos primeros ejemplos, pero tengo algunas pregunticas y te las posteo por aqui por si alguien en algun momento llega a necesitar una explicaciòn...

Para el 1er ejemplo..

1.  Como agrego el modulo de in32 y out32, es una libreria que debemos tener o algo asi, porque yo lo que hice fue copiar tu codigo pero lo hice medio a ciegas ya que en el fondo no se lo que hace este modulo..

para el 2do ejemplo.

2. pues lo mismo, tienes agregado en el modulo unas rutinas que no para que sirven aparte de la in32 y out32, pues hay otras que ni idea esa de DecABin y BinADec, y una sobre un Delay...

Entonces no se si estas son librerias que debemos incluir y si es asi, puedes indicarme en donde estan porque no las encuentro ... Sonrisa GiganteSonrisa Giganteç

Bueno hermano, seguimos pa adelante y pues vamos a ver como me va con el tercer ejemplo

SALUDOS A TODOS NUESTROS COMPADRES DEL FORO RebotadoRebotado
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 21 de Octubre de 2005, 11:39:00
Hola:

El modulo lo puedes agregar asi:








En el modulo para el primer ejemplo esta solamente el llamado a la dll, esa dll como veras en la pagina del pana Yoel o en un archivo de texto te explica en donde tienes que pegarla conjuntamente con un .ocx que trae...


Para el ejemplo 2 esas rutinas la de BinaDec es para transformar un numero de binario a decimal, y la de DecaBin es para transformar un numero de decimal a binario, y la de delay es una rutina para crear retardos como los de PBP por ejemplo, ninguna de esas tres son propias de visual basic, las tengo pero no recuerdo de donde las saque... lo que hice fues ponerla en el modulo...

BinaDec, DecaBin y Delay estan en el modulo....

Suerte, sino logro aclarar tus dudas pues comentame en que falle...! Sonrisa Gigante
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: lord_10 en 21 de Octubre de 2005, 20:21:00
hasta aqui todo bien pana lord vamos por buen camino... ah y gracias por el consejo   "dale Format C: " Avergonzado
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 21 de Octubre de 2005, 22:44:00
Hola:

ja ja ja eso es lo mejor.... Muchas risas oye pana y ya arreglaste el probelama con la libreria o como estas haciendo las pruebas, en un proto o en donde...?
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: lord_10 en 21 de Octubre de 2005, 23:48:00
directamente desde la PC ahi tengo el otro probador de LPT,aunqu ehabra que anexarles mas cosillas por ahi...Sonrisa
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 22 de Octubre de 2005, 00:06:00
Hola:

Pana probaste todos los ejemplos en el proto..? yo solo los simule pero estoy seguro de que debe funcionar...! Sonrisa Gigante
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: olotill en 22 de Octubre de 2005, 12:25:00
Que hubo giovanni..

Mira hermano, esta pregunta te va a resultar medio tonta pero la verdad, no se como dibujaste en visual basic los display de 7 segmentos Sonrisa GiganteSonrisa Gigante

Viene en alguna libreria o tu la diseñas, please ayudame que ando quedado en eso, por la programacion pues esa si la entendi lo que no se es como dibujar los display en VB...

Jejeje Sonrisa GiganteSonrisa Gigante  perdon si es algo basico pero como sabes de VB no se mucho por no decir nada Muchas risasMuchas risas

Bueno espero que puedas ayudarme...

UN SALUDO HERMANO
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 22 de Octubre de 2005, 12:40:00
Hola:

Que hubo Fabian, mira dibujar los displays te va a resultar muy sencillo... los hice en WORD... cada segmento es una linea gruesa y le puse un color, luego los puse sobre un cuadrado en tres dimensiones... luego hice un solo elemento y luego los copie sobre un Image en VB...! y !LISTO!... ya tienes tu display...

Suerte...!
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 24 de Octubre de 2005, 23:31:00
Hola:

Propongo un ejemplo mas.... uno mas para avanzar al puerto de estado.... esto del puerto de datos se resume en lo siquiente.... una libreria para trabajar con el puerto, hay que tener presente la direccion del puerto que se quiere utilizar... Datos H378, Status H379, control H37A... el de datos que estamos probando y que es de 8 bits y que todos los bits estan disponibles en pines desde el 2-9... y tambien tener en cuenta las instrucciones y el llamado a la libreria que esta en el modulo....

Si alguien tiene una idea de que ejemplo hacer para acabar seria bueno....! Sonrisa Gigante
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 25 de Octubre de 2005, 13:41:00
Hola:

Me respondo a mi mismo y propongo que hagamos un reloj con 4 displays....

De tal forma que los pines del LPT los distribuyamos de la siguiente manera... 4 para el manejo de los siplays que van a estar multiplexados y trabajaremos con un decodificador... y los otro 4 para selecionar el display y mostrar el dato... Osea el circuito algo como esto:



Que les parece....! Alguien se anima...?
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: Y@el en 26 de Octubre de 2005, 15:34:00
Vaya, acabo de darme cuenta de este Sub-Foro y me parece de lo más interesante....

Si puedo ayudar en algo chevere no más Muchas risas Rebotado Rebotado Rebotado Rebotado


Saludos.

Yoel Ocmin
http://proyectosfie.tk

PD: LordLafebre.... me tenias intrigado de donde sacabas las imagenes del  Display(i) pues no las encontraba por ningun lado, hasta que se me ocurrio agrandar el Form. y vi otro display (Que raro si eso no lo deje ahi). y Flash Ahi estaban la matriz de imagenes... Buina tio Muchas risas (y) Rebotado Rebotado Rebotado ... como lei por ahi... Hoy aprendi algo nuevo Muchas risas
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 26 de Octubre de 2005, 15:45:00
Hola:

Pues las puse mas abajo del tamaño en que se muestra el form en modo ejecucion... se me olvido decir eso... ji ji ji Sonrisa Gigante

Bien venido... y pues no queda mas sino hacer unos ejemplitos.... como veras propuse hacer un reloj para afianzarnos mas y luego seguir con los otros dos puertos...! Sonrisa Gigante
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: MGLSOFT en 27 de Octubre de 2005, 09:17:00
Yo si los habia encontrado, porque marcaba en las propiedades y no me encuadraba ningun control, asi que agrande el form y lo encontre...Sonrisa GiganteSonrisa Gigante

Muy bueno lo tuyo Lord !!RebotadoRebotado
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: Y@el en 27 de Octubre de 2005, 11:32:00
Bueno, siguiendo con lo de LordLafebre

y agarrando su mismo ejemplito, con previas modificaciones,
Les presento al Reloj


http://proyectosfie.webcindario.com/documentos/reloj.png

los arhivos del Reloj estan Aqui:
http://proyectosfie.webcindario.com/documentos/reloj.zip

Explicaci�n:

Antes que nada Decirles, que como Ud. sabr�n el Sistema Operativo funciona con un Reloj Interno. Y es posible acceder a �l desde VB, con la variable Time (que por cierto es del tipo String).

Pero tambien podemos obtener cada Parte del Tiempo... solo Hora, solo Minutos y solo Segundos...
y como hago esto ???

Bueno es Relativamente facil, por no decir Recontrafacil... Muchas risas

Hora = Val( Hour(Time))
Minutos = Val (Minute (Time))
Segundos = Val (second(Time))

Ahora con esto tendremos 2 decimales, asi que podemos separarlos en Decenas y Unidades... (Bueno en mi codigo dice Centenas y Unidades ... cualquiera se equivoca Muchas risas).

DecenasHora = Hora  10
UnidadesHora = Hora mod 10

y lo mismo con los minutos y segundos....

una vez que tenemos estos valores de forma independiente, los mandamos a los displays. (En este caso  a los Displays del Formulario).

Pero para enviarlos al puerto paralelo, tenemos que enviarlos de una forma tal que  el Hardware realice lo que queremos.

Para que sea mas entendible voy a separar los nibles de D7 - D4 y D3 - D0 por la funcion que realizan en el ckto.

D7-D4 : Escojen Display a Mostrar. Como lo hacen, pues donde se escriba un 0, se muestra el dato.
Entonces tenemos

D7-D4  D3-D0
  1110   XXXX = 1110 0000 + 0000 XXXX = 224 + Dec(XXXX) ->Decena Hora
  1101   XXXX = 1101 0000 + 0000 XXXX = 208 + Dec(XXXX) ->Unidad Hora
  1011   XXXX = 1011 0000 + 0000 XXXX = 176 + Dec(XXXX) ->Decena Minuto
  0111   XXXX = 0111 0000 + 0000 XXXX = 112 + Dec(XXXX) ->Unidad Minuto

Donde Dec(XXXX) es el valor del display y vale de 0 a 9

Esto en el Programa es:
Escribir &H378, (224 + CentenaHora)
Sleep 10
Escribir &H378, (208 + UnidadHora)
Sleep 10
Escribir &H378, (176 + CentenaMinutos)
Sleep 10
Escribir &H378, (112 + UnidadMinutos)
Sleep 10

Donde Sleep es una api de Windows, q permite hacer retardos en Milisegundos. Esa declarado en reloj.obj, junto con Escribir y Leer, funciones para escritura y lectura de puertos.

***********************************************************
Bueno hasta ahora, nos hemos ya sabemos que es lo que se va hacer. Pero como lo haremos, ya que esto debe hacerse siempre....

Bueno, para eso usaremos 2 Controles tipo Timer.
estos Activan un Evento cada intervalo en milisegundos que nosotros establescamos en su propiedad Interval.

Uso 2, por los motivos siguientes:
* Necesito que la hora es visualizada se actualice, pero esta no varia con mucha frecuencia. solo cada segundo. Entonces creo un timer q lo actualice cada 500ms, esto por los retrazos de la PC.


* Necesito una funcion que este mostrando constantemente los valores en los displays, sino nunca vere nada, o solo vere prenderse un Display, como en la captura de la imagen arriba. Para eso creo otro timer, pero que en menor tiempo este actualizando la hora que se envia al Puerto.


Espero haber sido claro. O en todo caso me avisan nom�s, y se puede extender esta explicacion. Ya que solo me he limitado a explicar los cambios hechos respecto a los otros ejemplos de Lord...

bye


PD: claro, que el ckto mostrado arriba solo sirve para fines explicativos, si se desea hacer uno que vaya de acuerdo a las necesidades, se deben colocar, los transistores, tal como lo muestra Lord. Además que ya no habilitaria el display con 0 sino con 1, y los valores cambiarian de 224 a 16(0001 0000), 208 a 32(0010 0000), 176 a 64(0100 0000) y 112 a 128(1000 0000). Ahora si bye
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 27 de Octubre de 2005, 11:47:00
Hola:

Que bien....! Rebotado

Mientras esperaba que alguien se anime a decir hagamoslo...!!! tu ya lo tienes hecho... Sonrisa Gigante basicamente mi idea era esa.... pero voy a tratar de hacerlo de otra hacerlo diferente al tuyo a ver que sale....! Sonrisa Gigante
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: Y@el en 27 de Octubre de 2005, 14:34:00
Podria, darle mas Punch... al Asunto, y ya no hacer q se vean solo Horas, y Minutos, sino tambien segundos como esta en el programa ....


http://proyectosfie.webcindario.com/documentos/reloj2.png


Veamos, ahora quien se anima, espero que otro tambien lo intente Muchas risas

bye
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 27 de Octubre de 2005, 23:52:00
Hola:

Pues he utilizado la parte del codigo de Yoel para "igualar" el reloj a la hora del sistema... es un poco dificil hacerlo de otra manera ya que mi idea era como la de el Sonrisa Gigante.... ya que se parece mucho a la programacion para una practica con pic pero en PBP que habia hecho... para seleccionar el display y visualizar ese momento el dato utilice un 7442 que es un Decodificador BCD a decimal... (ese lo tenia a mano) no varia mucho el codigo por no decir casi nada....

Solo utilizo un timer que hace un llamado a una subrutina llamada RefreshClock en la que actualizo el reloj en la pantalla en el PC y envio los datos al puerto....! Sonrisa Gigante

Una cosa que sucede en la simulacion y da un error es porque el tiempo de envio es muy rapido en la simulacion pareciera que los datos se ven de uno en uno... pero es efecto de la simulacion en la realidad va bien...! Giño

Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 27 de Octubre de 2005, 23:55:00
Hola:

Aqui estan los archivos de ejemplo para que le den una mirada...! Sonrisa Gigante

http://miarroba.com/foros/ver.php?foroid=348538&temaid=3776827
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 09 de Noviembre de 2005, 00:34:00
Hola:

Ahora les dejo un pequeño ejemplo mas, esta ves para el puerto de Status (H379), este puerto funciona unicamente como estrada, es de 8 bits pero solamente estan disponibles en pines los 5 ultimos bists... y es como sigue:

S7   S6   S5   S4   S3   S2   S1   S0
11   10   12   13   15   X   X   X



El el ultimo bit (S7) es invertido, esto hay que tomar en cuenta al momento de hacer el programa....

Este es el diagrama...



Para este ejemplo ya no nos sirve proteus, pues no se puede simular los datos de entrada...
Título: RE: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 09 de Noviembre de 2005, 00:40:00
Hola:

Aqui esta el codigo del ejemplo anterior...

http://miarroba.com/foros/ver.php?foroid=348538&temaid=3824353
Título: Re: Nose me descarga el primer ejemplo
Publicado por: mos en 07 de Mayo de 2006, 14:07:58
Hola compañeros, creo que esos ejemplos son buenisimos, yo voy a empezar ahora a aprender visualbasic para poder comunicarme con los preyectos que haga. No se mucho de este lenguaje pero pienso que es importante para luego poder saltar otro lenguaje algo mas complicado y asi aprender poco a poco.

El problema es que no se me descarga el primer ejemplo, al entrar me indica tiempo excedido, no se si proteus tiene todos los archivos de vb para el puerto paralelo o hay que ponerlo en una parte en especial. bueno un saludo compañeros y a seguir avanzando. xao :P
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 07 de Mayo de 2006, 14:16:54
Hola:

No pudiste descargar el primer ejemplo?

Con respecto al proteus, en el primer ejemplo esta un link para descargar una libreria para poder simular el puerto paralelo.

Te adjunto de nuevo el ejemplo #1.
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: RALF2 en 25 de Noviembre de 2007, 21:14:23
Hola estimados amigos!
Maestro Lordlafebre y Y@el.
Recien descubro los post que ustedes colocaron referente al manejo del puerto paralelo y como me estoy iniciando en el manejo del visual basic me parecieron fantasticos y de muchisima ayuda los programas que colocaron, mis felicitaciones.  :mrgreen:
Quisiera pedirles sino es mucho pedir que volvieran a postear los link que colocan, ya que algunos por lo viejo de los post no funcionan, sobre todo el que contiene las librerias para el manejo del puerto paralelo, que se encuentran al inicio de este tema.

De antemano gracias.
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 27 de Noviembre de 2007, 00:42:10
Hola:

Ralf, te dejo los links al LPT, pero no recuerdo si esta la librería, de todos modos lo puedes descargar de la página de Yoel.

http://www.freewebs.com/glafebre/ejemplospbpyproteus.htm

No tengo más que esos, los otros no los he respaldado  :shock:
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: RALF2 en 27 de Noviembre de 2007, 14:07:50
Que tal amigo!
Mira acabo de bajar los archivos de tu pajina pero me falta creo el port.dll que me permite enlazar el proteus con el vb, me podrias decir donde bajar la dll y donde debo copiarla?

Gracias
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: RALF2 en 27 de Noviembre de 2007, 14:33:03
Hola Maestro LordLafebre!
El primer ejercicio lo logre hechar a andar copie el Port.dll en la carpeta donde esta el esquematico del isis luego abri el programa en vb heche a andar ambos y me funciono!  :-/ :-/ :-/ :-/ :mrgreen:

Que bueno un paso mas superado  :P
Ahora bien las preguntas (como cosa estraña  :lol:):
El port.dll debo colocarlo donde dije o debo copiarlo en otra parte.
Como hizo el Genio que creo el dll para permitir comunicar el vb con el proteus, no me refiero al codigo que hizo de veras que no tengo la menor idea.
Esa dll sirve tambien para cominicar el vb con el proteus para simular el puero serial?
la variable txt que aparece en tu primer post cuando abrieron este hilo esta definida en la libreria inpout32 o falta definirla?

De antemano muchas gracias
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: RALF2 en 15 de Diciembre de 2007, 18:40:30
Hola amigos
Quisiera consultarte algo sobre un codigo colocado al principio de este tema colocado por el maestro lordlafebre.

Public Declare Function Leer Lib "Inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Byte
Public Declare Sub Escribir Lib "Inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Byte)
Public Declare Sub Sleep Lib "Kernel32.dll" (ByVal PortAddress As Integer)

Donde dice alias "Inp32", que significa eso, le puedo colocar otro nombre? me podrian explicar que hace esa instruccion? yo lei la ayuda pero aun no me queda claro  :?

el Kernel32.dll me puede servir para hacer retardos de digamos 2 seg?

De antemano gracias

Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 15 de Diciembre de 2007, 19:27:39
Hola:

Vamos por el retardo, ya tienes declarada una función para usarlo:

Public Declare Sub Sleep Lib "Kernel32.dll" (ByVal PortAddress As Integer)

Sleep te genera retardos de tiempo.

En cuanto al Alias, no lo recuerdo bien, pero el nombre de la funcion es LEER, eso lo puedes cambiar si quieres en la declaración:

ORIGINAL

Public Declare Function Leer Lib "Inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Byte

CAMBIO:

Public Declare Function NOMBRE_DE_LA_FUNCION Lib "Inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Byte
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: RALF2 en 15 de Diciembre de 2007, 20:03:08
Gracias lordlafebre por tu oportuna respuesta!
Me parese que el alias "Inp32" y "Out32" hacen referencia al nombre utilizado internamente en la .dll si se cambia el alias (Inp32 o Out32) no funciona  :mrgreen:

Saludos
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: RALF2 en 19 de Diciembre de 2007, 08:25:41
Hola amigos!
Sigo dandome en la cabeza con el vb  :mrgreen:
Tengo unas dudas referente al codigo que coloco el maestro lordlafebre al comienzo de este hilo, el cual muestra un valor en un display y atraves del puerto paralelo. Coloco una parte del codigo.

    Option Explicit
    Dim i As Integer
    Dim vec(16) As Integer

    Private Sub Command1_Click()
        For i = 0 To 9
            Display2.Picture = Display(i)
            Escribir &H378, vec(i)
            Delay (0.5)
        Next i
    End Sub

    Private Sub Command2_Click()
        Escribir &H378, 0
        End
    End Sub

    Private Sub Form_Load()
        vec(0) = BinADec(111111)
        vec(1) = BinADec(110)
        vec(2) = BinADec(1011011)
        vec(3) = BinADec(1001111)
        vec(4) = BinADec(1100110)
        vec(5) = BinADec(1101101)
        vec(6) = BinADec(1111101)
        vec(7) = BinADec(111)
        vec(Cool = BinADec(1111111)
        vec(9) = BinADec(1101111)
        Escribir &H378, vec(0)
    End Sub

    Private Sub Form_Unload(Cancel As Integer)
        Escribir &H378, 0
    End Sub

Donde dice Private Sub Form_Load() me imgjino que es para cargar las variables?

Donde dice  Display2.Picture = Display(i) Es para mostrar el display por pantalla pero aunque se ve asi he intentado utilizarla para mostrar figuras y no me sirve, es decir, que hace falta algo?
Vamos a ver si me explico, mejor: Los displays (7Segmentos) los hice en power point, luego cree un array utilizando la herramienta image, coloque cada display dentro de un image (image1(0)...image1(9) ) y de alli en adelante se me tranco el serrucho  :lol: :lol:

Me podrian indicar que es lo que me falta?
Nota: las rutinas de delay, binAdecimal y de DecAbin ya las tengo!

De antemano gracias
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: Y@el en 19 de Diciembre de 2007, 12:33:51
Si estas usando el mismo codigo que LordlaFebre... puedes agrandar el form... y encontraras los otros pictures.

Y el procedimiento que has seguido, me parece que es el correcto.

Ya que lo que se hizo, fue crear un arreglo de imagenes que se corresponde con su respectivo indice (Image o Picture ->No recuerdo cual exactamente era, imaginemos que esta se llama display()). Esta matriz, se encontraba tambien en el form, pero en la parte oculta del mismo. Y si querias verla tendrias que agrandar el form

Luego, se creaba otra imagen... digamos que se llame visualizar.

Para usarla. Basta con hacer visualizar.picture=display(i).picture.
Donde i, es el valor que va cambiar despues de 500ms [Delay(0.5)]

Saludos,

Y@el
PD: Si te confundi avisame... para tratar de ser mas explicativo.
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 19 de Diciembre de 2007, 12:35:55
Hola:

Pues no veo cual es el problema, si ya tienes creada la matriz de controles, es como si fuera un vector, por ejemplo en mi caso se llama Display(i), en donde i es el subíndice del vector, así a cada subíndice, le asigno la imagen del display respectico, es decir lo siguiente:

Display(0) contiene la imagen del display con el número "0"
Display(1) contiene la imagen del display con el número "1"
Display(2) contiene la imagen del display con el número "2"
Display(3) contiene la imagen del display con el número "3"
Display(4) contiene la imagen del display con el número "4"
Display(5) contiene la imagen del display con el número "5"
Display(6) contiene la imagen del display con el número "6"
Display(7) contiene la imagen del display con el número "7"
Display( 8 ) contiene la imagen del display con el número "8"
Display(9) contiene la imagen del display con el número "9"

Luego a una imagen diferente, por ejemplo la display2, le asigno una de esas imágenes de la matriz de controles, así puedes probar haciendo un bucle y asignando las imágenes de la matríz a un segundo picture el valor correspondiente:

for i=0 to 9
     display2.picture = display(i).picture 'en display2 se asignan las imágenes de la matriz
     sleep (tiempo)
next i

Si no te funciona o no me he explicado bien, adjunta tu ejemplo para mirarlo y explicarte que es lo que estas haciendo mal.
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: RALF2 en 19 de Diciembre de 2007, 20:56:00
Muchas gracias amigos, Lordlafebre y Y@el!  :-/
Es como dicen habia cargado las imagenes en un array de controles ( image1(0..9) ), pero no sabia que habia que utilizar otro control image que llamara el array que habia creado, asi que seleccione un control image, llamado image2. luego utilice el codigo:   image2.picture = image1(i) donde i varia de 0 al 9 y funciono  :-/ :mrgreen:
No tenia idea de que se podia hacer esto asi!

Y@el los displays ya los habia visto, de todos modos gracias.



Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 20 de Diciembre de 2007, 03:56:19
Hola:

Me alegra que ya te guncionó, cualquier cosa, estamos por aquí  :P
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: diego_z en 21 de Febrero de 2008, 23:45:21
hola alguien me puede decir por que no puedo usar la libreria "Inpout32.dll" en mi maq. solo "io"
 es la que funciona tiene xp sp2
saludos
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 22 de Febrero de 2008, 00:57:23
Hola:

Yo tambien tengo XP SP2 y no he tenido problemas, porqué dices que no puedes usar la libreria inpout32?
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: diego_z en 22 de Febrero de 2008, 16:42:18
no la podia usar porque cuando queria simular se me colgaba la maquina ni idea porque lo probe un par de veces despues lei que de otros que tenian el mismo problema asi que opte por !io dll si tenes algun dato extra te agradeceria saludos !!
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: LordLafebre en 22 de Febrero de 2008, 17:57:06
Hola:

Pues la verdad no se me ocurre, yo nunca he tenido problemas con esa librería en ningún computador, la he probado en muchos.
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: manuelroin24 en 19 de Abril de 2008, 04:36:15
Hola amigotes bueno solo pedirles una ayuda ya q quize intentar simular el puerto paralelo en el proteus con los ejemplos aqui mencionados y nada no obtuve resultados ni en el visual basic ni en el proteus aqui esta mi codigo en visual basic


Private Declare Function Leer Lib _
  "inpout32.dll" _
  Alias "Inp32" (ByVal PortAddress As Integer) As Byte
 
Private Declare Sub Escribir Lib _
  "inpout32.dll" _
  Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Byte)

Private Sub cmdEnviar_Click()
Dim Dato As Byte
Dato = Val(txtDato.Text)
Escribir &H378, Dato
txtDato.Text = ""
End Sub

Private Sub Form_Load()
Escribir &H378, 0
End Sub

al compilar esto me arroja un error si coloco las funciones como PUBLIC sale NO SE PERMITEN CONSTANTES, CADENAS DE LONGITUD FIJA, MATRICES E INSTRUCCIONES DECLARE COMO MIEMBROS PUBLIC DE MODULOS DE OBJETO
al colocar ambas funciones como PRIVATE me sale LA CONVENCION DE LLAMADAS A DLL ES INCORRECTA.

Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: IAO en 19 de Abril de 2008, 12:34:21
Holaaaaa:

Sr. manuelroin24:
Te comento que existe 2 versiones de la inpout32.dll, fijate si la tuya tiene 32k, si mal no recuerdo
es la que funciona en xp. La de win9x tiene como 23k o algo así.

Espero te sirva este mensje.
Bye('_').
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: manuelroin24 en 19 de Abril de 2008, 12:42:36
Si amigo ya pude hacerlo funcionar el problema era con mi visual basic asi q formatee todo lo volvi a correr y como nueva jajaja acabo de probarlo muchas gracias por la ayuda
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: manuelroin24 en 19 de Abril de 2008, 13:41:44
Se puede leer en el LPT Virtual del Proteus ????
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: manuelroin24 en 19 de Abril de 2008, 13:50:19
Espero q con este programita pueda leer la info del puerto paralelo si hay algun error espero su ayuda por lo pronto intentare probarlo en hardware.

Código: [Seleccionar]
Private Declare Function Leer Lib _
  "inpout32.dll" _
  Alias "Inp32" (ByVal PortAddress As Integer) As Byte
 
Private Declare Sub Escribir Lib _
  "inpout32.dll" _
  Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Byte)

Private Sub cmdEnviar_Click()
Dim Dato As Byte
Dato = Val(txtDato.Text)
Escribir &H378, Dato
txtDato.Text = ""
End Sub

Private Sub cmdLeer_Click()
Escribir &H37A, 16 'Ponemos el bit C5 en 1 ENTRADAS
Dato = Leer(&H378)
txtDato.Text = Dato
Escribir &H37A, 4  'Ponemos el bit C5 en 0 SALIDAS
End Sub

Private Sub Form_Load()
Dato = 0
Escribir &H378, Dato
End Sub
Título: Re: VB y COMUNICACION PIC VIA PARALELO LPT
Publicado por: neon197335 en 29 de Mayo de 2009, 14:44:22
amigos disculpen pero no encuentro en esta direccion http://proyectosfie.tk/ las librerias para trabajar con proteus y vb si alguien me puede decir mas especificamente dnde estan mil gracias de antemanos