Technical Note: Simplified Design of a Low-Cost Interface Using a Parallel Port and Visual Basic

Rogelio Escobar, Mayela Hernández-Ruiz, Nadia Santillán y Carlos A. Pérez-Herrera((Rogelio Escobar, Mayela Hernández-Ruiz, Nadia Santillán y Carlos A. Pérez-Herrera, Laboratorio de Condicionamiento Operante, Facultad de Psicología, Universidad Nacional Autónoma de México.
Los autores agradecen a Héctor Hernández Silva, Raúl A. Páez Quiñones y a Luis A. Valadez Manríquez quienes, como parte del XVI Verano de la Investigación Científica y Tecnológica del Pacífico, ayudaron en la instrumentación del equipo y en la conducción de las pruebas.
La correspondencia relacionada con este artículo debe enviarse a Rogelio Escobar, Laboratorio de Condicionamiento Operante, 2o Piso, Edificio C. Facultad de Psicología, Universidad Nacional Autónoma de México. Av. Universidad 3004, Col. Copilco-Universidad, México, D.F. C.P. 04510. E-mail: rescobar@unam.mx.))

Universidad Nacional Autónoma de México – Laboratorio de Condicionamiento Operante

Resumen

Este trabajo describe una simplificación en el diseño de la interfaz de bajo costo usando el puerto paralelo de una computadora y Visual Basic, diseñada por Escobar y Lattal (2010). La simplificación consistió en sustituir el conjunto de transistores y diodos que se usaban en el diseño original para controlar los relevadores electromecánicos con un arreglo de ocho pares de transistores Darlington (circuito integrado ULN 2803 A). Este diseño facilita considerablemente la instrumentación y reduce el costo de la interfaz. Para probar el funcionamiento estable de la interfaz, se realizaron pruebas usando programas de reforzamiento encadenados de cuatro componentes con ratas como sujetos. Durante el desarrollo de estas pruebas la interfaz, además de permitir un registro preciso de los datos, funcionó de manera estable en todas las sesiones experimentales. Nuestras pruebas muestran que la interfaz con el puerto paralelo puede usarse como un sustituto de bajo costo del equipo comercial.

Palabras clave: interfaz, instrumentación, puerto paralelo, Visual Basic

Abstract

This paper describes a simplified design of the interface using a computer’s parallel port and Visual Basic designed by Escobar and Lattal (2010). An array of eight pairs of Darlington transistors (integrated circuit ULN 2803 A) replaced the diodes and transistors that were used in the original design for controlling each electromagnetic relay. The new design not only facilitates the instrumentation of the interface but also reduces its cost. Additionally, the stability of the interface was tested using chained schedules of reinforcement of four components in rats as subjects. During these tests, the interface allowed recording the responses with precision and worked consistently during all the experimental sessions. Our tests show that the parallel-port interface can be used as a low-cost replacement for commercial equipment.

Keywords: interface, instrumentation, parallel port, Visual Basic

El alto costo del equipo que se utiliza para realizar experimentos en condicionamiento operante es una de las restricciones que enfrentan los investigadores interesados en conducir experimentos en este campo. Compañías como Med Associates Inc., Coulbourn Instruments o Lafayette Instruments comercializan este tipo de equipo de control y registro experimental que puede alcanzar un costo de varios miles de dólares. El interés que los psicólogos latinoamericanos pudieran tener en realizar estudios sobre análisis experimental de la conducta podría verse afectado por la falta de recursos económicos suficientes para adquirir el equipo de control. En México es común, incluso, encontrar que en algunos laboratorios se cuenta con cámaras de condicionamiento operante pero se carece del equipo de control.

Como una alternativa al equipo de control experimental comercial, algunos investigadores han descrito que el puerto paralelo de una computadora puede utilizarse como una interfaz de bajo costo (e.g., Cushman, 1993; Dalrymple-Alford, 1992; Escobar & Lattal, 2010; Gollub, 1991; Iversen, 2002, 2008). Iversen (2002), por ejemplo, utilizó una interfaz con un puerto paralelo para controlar una cámara web dentro de una cámara de condicionamiento operante. En otro estudio, Iversen (2008) utilizó este tipo de interfaz para presentar diversos estímulos en un procedimiento de discriminación condicional con ratas como sujetos.

Una aparente desventaja del uso del puerto paralelo en el control de experimentos en psicología es que este se encuentra cada vez con menor frecuencia en las computadoras actuales. Debido a que las computadoras que incluyen un puerto paralelo están equipadas con procesadores considerados como obsoletos (e.g., Pentium 3® y Pentium 4®), es posible encontrar este tipo de computadoras con relativa facilidad a bajo costo, entre 500 y 1000 pesos mexicanos. Cabe señalar que aunque dichas computadoras tal vez resulten inadecuadas para realizar algunas de las tareas actuales, su capacidad de procesamiento es superior a la necesaria para usarlas para conducir experimentos.

A pesar de que el puerto paralelo aparentemente ha caído en desuso, en años recientes diversos estudios han mostrado su utilidad para conducir experimentos en psicología (e.g., Iversen, 2008; Sorokin, 2002; Escobar & Lattal, 2010). Una de la razones es la accesibilidad a la documentación detallada del funcionamiento del puerto paralelo (e.g., Axelson, 1997). Además, usar el puerto paralelo en experimentos en psicología permite presentar múltiples estímulos (Iversen, 2008), registrar múltiples respuestas (Stewart, 2006) y puede programarse con lenguajes usados comúnmente en psicología como Visual Basic® (Cabello, Barnes-Holmes, O ́Hora, & Stewart, 2002) o BASIC (Iversen, 2002). Una razón adicional para utilizar una interfaz con el puerto paralelo es que posibilita el registro de respuestas con una precisión de milisegundos que es necesaria en experimentos en los que se registran tiempos de reacción (Stewart, 2006).

Recientemente Escobar y Lattal (2010) describieron detalladamente la construcción de una interfaz de bajo costo diseñada para controlar experimentos en condicionamiento operante tanto con humanos como con animales no humanos. La interfaz consiste en un arreglo de relevadores electromecánicos o de estado sólido controlados por medio del puerto paralelo de una computadora. En su diseño, una serie de transistores conectados a una fuente de poder de cinco voltios de corriente directa (vcd) permiten activar relevadores electromecánicos, que a su vez activan los dispositivos de una cámara experimental por medio de una fuente de poder externa de 28 vcd. Escobar y Lattal también describieron los pasos necesarios para controlar los eventos experimentales por medio de Visual Basic® Express Edition (vbee) que se distribuye de manera gratuita por internet. Cabe señalar que, como los autores lo indicaron, dicha interfaz se encontraba en su fase de prueba y no podía considerarse como un sustituto de los dispositivos de control comerciales.

El objetivo de este trabajo es describir una simplificación del diseño de la interfaz descrita por Escobar y Lattal (2010) utilizando un circuito integrado (uln 2803 A) para sustituir el arreglo de transistores y diodos de protección del puerto paralelo. Aunque esta adaptación no representa una mejora en términos funcionales, simplifica considerablemente el diseño, lo cual la hace de más fácil construcción y reduce el costo total del equipo. Debido a que el propósito original de la interfaz es hacerla accesible a los investigadores interesados en el análisis experimental de la conducta, que no necesariamente tienen un entrenamiento en electrónica, esta simplificación podría facilitar la diseminación de este tipo de equipo de control. Adicionalmente, la interfaz se construyó usando componentes que pueden adquirirse prácticamente en cualquier tienda de artículos de electrónica (e.g., Steren® en México). Posteriormente se describen también las primeras pruebas realizadas con esta interfaz en un experimento en el que se usaron programas de reforzamiento encadenado con ratas como sujetos.

Computadora y puerto paralelo

Para las pruebas del equipo utilizamos una computadora HP Brio® Modelo BA410. Esta computadora estaba equipada con un procesador Pentium 3® a 1000 Mhz y 500 mb en memoria ram. La computadora contaba con un puerto paralelo integrado en la tarjeta madre (motherboard). Como lo describieron Escobar y Lattal (2010), el archivo inpout32.dll, que puede obtenerse de manera gratuita en internet, se copió en la carpeta C:\Windows\System32. Puede accederse al puerto paralelo desde VBEE declarando las funciones dentro de un módulo como se muestra al final del Apéndice.

Debido a que Escobar y Lattal (2010) describieron el funcionamiento detallado del puerto paralelo, en el presente trabajo sólo se describe de manera breve. Este puerto sirve comúnmente para la conexión de impresoras. Cuenta con 25 pines que se agrupan en tres puertos, identificados como puerto de datos (pines 2 a 9), puerto de control (pines 1, 14, 16 y 17) y puerto de estatus (pines 10 a 13). Los pines 18 a 25 van a tierra.

Los pines del puerto de datos pueden usarse como salidas (outputs) y los pines del puerto de estatus como entradas (inputs). En el presente trabajo se construyó una interfaz de cuatro salidas usando los pines 2, 3, 4 y 5, tres entradas con los pines 10, 11 y 12, y como tierra los pines 18 y 19. Sin embargo, pueden usarse el resto de los pines del puerto de control e incluso del puerto de estatus para aumentar el número de salidas y entradas, respectivamente.

Para realizar la conexión de la computadora al conjunto de relevadores (véase el siguiente apartado), utilizamos un cable de 3 m con conectores DB25 (macho a macho) (Steren®, Modelo 506-020). Al final del cable añadimos un conector DB25 hembra con cables soldados a cada uno de los pines utilizados. Con el propósito de evitar soldar cada uno de los cables, este tipo de conectores pueden extraerse de un multiplexor de datos que se utiliza para conectar dos impresoras a una computadora. La Figura 1 muestra uno de los conectores macho DB25 y el conector hembra con los cables que se conectan al arreglo de relevadores. Es importante notar que no es recomendable usar un cable (o un conjunto de cables) para extender la conexión de la computadora al conjunto de relevadores a más de 10 m (véase Gollub, 1991).

Diseño del arreglo de relevadores

En la Figura 2 se muestra el diagrama de conexión de la interfaz. Este diagrama incluye el circuito integrado uln 2803 A, que consiste de un arreglo de ocho pares de transistores Darlington. El uso de este circuito integrado hace innecesario el uso de diodos para proteger el puerto paralelo. Los +5 vcd, necesarios para activar los relevadores electromecánicos, pueden tomarse de la fuente de poder de la computadora (cable rojo del conector de salida Molex de la fuente de poder). En nuestro equipo, usamos un cable de alimentación de corriente para dispositivos de uso interno en la computadora (Steren®, Modelo 506-250). Este cable cuenta con un conector Molex macho y dos conectores hembra. Conectamos el conector macho a uno de los conectores hembra dentro de la computadora y, de esta forma, pudimos extender el cable lo suficiente para colocar uno de los conectores hembra en el exterior de la computadora. Cualquiera de los cables negros puede usarse como tierra. Adicionalmente, el cable amarillo y uno de los cables negros, que llevan 12 vcd y tierra, respectivamente, los conectamos a un ventilador (véase la sección de aparatos en el apartado de pruebas).

Los relevadores de bobina de 5 vcd (Steren®, Modelo RAS-0510) permiten cargas de hasta 10 Amperes a 24 vcd. Esta carga excede considerablemente los requerimientos de un dispositivo dentro de una cámara de condicionamiento operante. Como se puede observar en el diagrama, estos relevadores cuentan con cinco pines en la parte inferior. El pin central es el común del interruptor. Los dos pines a los costados del pin central activan la bobina y los dos pines en la parte opuesta al pin central corresponden a normalmente cerrado y normalmente abierto del interruptor (véase la Figura 2).

Como lo describieron Escobar y Lattal (2010), y como se muestra en el diagrama de la Figura 2, es necesario añadir una fuente de poder externa de 28 v para controlar los dispositivos de la cámara experimental a través de los relevadores. En nuestras pruebas encontramos que una fuente de poder de 28 vcd a 1 A fue suficiente para controlar una cámara experimental. En otros procedimientos hemos encontrado que una fuente de poder de 24 v es, en la mayoría de los casos, suficiente para controlar los dispositivos de una cámara experimental y es más fácil de conseguir en tiendas de electrónica.

Al iniciar, la computadora manda pulsos alternadamente a los pines del puerto paralelo; para evitar que los dispositivos se encendieran, se añadió un interruptor para el paso de corriente proveniente de la fuente de poder de 28 vcd. Si se quiere evitar el encendido de los relevadores al iniciar la computadora puede añadirse otro interruptor en la fuente de poder de 5 vcd.

Registro de respuestas

Los micro-interruptores de las palancas se conectan conforme al diagrama de la Figura 3 para registrar respuestas. Este diseño además de usar resistencias de 470 Ω, integra resistencias de polarización de 3.9 k Ω que se conectan a +5 vcd que se toman de la fuente de poder de la computadora para mejorar la estabilidad del registro. En nuestras pruebas encontramos que los micro-interruptores de las palancas emiten un “rebote”, lo cual da como resultado que una respuesta se registre más de una vez. Para eliminar este problema hicimos una modificación en el programa para incluir un periodo en el que, después de liberar el micro-interruptor, no se registró una respuesta adicional en los siguientes 50 ms (véase Stewart, 2006).

A partir de utilizar la interfaz en diversas computadoras y en una variedad de procedimientos, encontramos que el valor del puerto que se activa al cerrar el microinterruptor de las palancas, y que se registra en VBEE, no siempre es el mismo y, en el caso de las entradas, varía dependiendo del número de palancas o dispositivos de respuesta conectados. Por lo tanto, antes de escribir el programa para conducir experimentos, es necesario identificar el valor del puerto que corresponde a la activación de cada micro interruptor. En el Apéndice se muestra el programa en VBEE que utilizamos para identificar el valor de las entradas y probar las salidas. Este programa también lo usamos diariamente antes de iniciar las sesiones experimentales para determinar el funcionamiento correcto de la interfaz.

Montaje

La Figura 4 muestra el arreglo de relevadores para controlar salidas y el arreglo de resistencias para registrar respuestas ensamblados en la placa fenólica. Como se muestra en la figura usamos dos tiras de terminales (Steren® 150-012) para facilitar la conexión y desconexión de la interfaz. Los cuatro cables identificados como salidas van directamente a los pines 2 a 5 del puerto paralelo. Los cables identificados como entradas van a los pines 10 a 12 del puerto paralelo. Los cables conectados en el centro de la tira de terminales en la parte inferior (desconectados en la figura) se conectan a +5 vcd y a tierra.

Los componentes están montados en una placa fenólica prefabricada para prototipos de 7 x 14.5 cm (Steren® Modelo 400, tipo protoboard). Esta placa facilita el soldado de los componentes. Si el circuito integrado y los relevadores se colocan en el centro, se aíslan los pines del lado izquierdo de los componentes de los pines del lado derecho. El circuito integrado se monta por medio de una base para circuito integrado de 18 pines. Es recomendable soldar los componentes antes de montar el circuito integrado. Aunque este diseño permite usar cuatro salidas y tres entradas, en las pruebas únicamente se usó una entrada para registrar respuestas en una palanca. En la Tabla 1 se muestra una lista con los componentes necesarios para ensamblar la placa y conectarla con una computadora para facilitar la adquisición de los componentes.

Pruebas del equipo

En este estudio se probó la estabilidad de la interfaz al utilizarla durante 55 sesiones de 1 hora cada una (tres por día) que involucraron el encendido intensivo de los dispositivos dentro de la cámara experimental. Para cumplir con este criterio se expuso a ratas a un programa de reforzamiento encadenado de cuatro componentes. Este tipo de programa se eligió porque 1) se ha estudiado extensamente en la literatura (véase Gollub, 1977, para una revisión), 2) requiere del encendido intensivo de los estímulos y 3) produce tasas de respuesta relativamente altas durante los componentes terminales.

Método

Sujetos. Se usaron tres ratas Wistar macho de seis meses de edad al iniciar el experimento y mantenidas al 80% de su peso ad libitum. Las ratas tuvieron acceso libre al agua durante todo el experimento a excepción del tiempo dentro de la cámara experimental.

Aparatos. Se utilizó una cámara experimental (Lafayette Modelo 81409). La cámara contenía, en el panel frontal, un recipiente para bolitas de comida, una palanca y un foco con una cubierta translúcida. En el panel opuesto al panel frontal se encontraba una luz que servía como iluminación general de la cámara experimental (House-light). Detrás del panel frontal se colocó un sonalert (Mallory Modelo SC628) que emitía un tono de 70 dB a 2900 Hz y un dispensador de bolitas de comida (Lafayette Modelo 80208). El dispensador dejaba caer bolitas de comida de 25 mg en el recipiente de comida. Las bolitas de comida se elaboraron remoldeando comida pulverizada para ratas.

La cámara experimental se introdujo en un cubículo de madera equipado con un ventilador (Steren®, Modelo VN4-012P) y una bocina de computadora. El ventilador se usó para facilitar la circulación del aire dentro de la cámara experimental. La bocina estaba conectada a la computadora que generó ruido blanco, almacenado en un archivo mp3, para enmascarar sonidos externos.

Se usó la interfaz descrita en las secciones anteriores para controlar los eventos experimentales. La computadora y la cámara experimental se colocaron en un solo mueble para mantenerlas cerca una de la otra y monitorear frecuentemente el funcionamiento de la interfaz y la presentación de eventos en la cámara experimental.

Procedimiento. En una primera condición se expuso a las ratas a cinco sesiones bajo un programa de reforzamiento continuo. En las siguientes 15 sesiones el programa se cambió a un intervalo variable (IV) 5 s y gradualmente se alargó hasta llegar a un IV 40 s. En las siguientes 15 sesiones el programa se cambió por un programa de reforzamiento encadenado de dos componentes IV 20 s IV 20 s. El componente terminal se señaló con el encendido de la luz en el panel frontal y el componente inicial se mantuvo sin señal. Esta condición tuvo como propósito establecer el estímulo en el componente terminal como un reforzador condicionado.

Durante las siguientes 20 sesiones se cambió el programa por un programa de reforzamiento encadenado IV 20 s IV 20 s IV 20 s IV 20 s. Los componentes sucesivos del programa de reforzamiento encadenado se señalaron con el encendido intermitente de un tono, encendido intermitente de la luz, encendido continuo del tono y encendido continuo de la luz. Cada sesión terminó después de entregar 30 reforzadores o de transcurrida una hora. Las sesiones experimentales se condujeron seis días por semana a la misma hora del día. Las ratas se introdujeron en la cámara experimental siempre en el mismo orden.

Resultados

La Figura 5 muestra la tasa de respuesta por componente para las tres ratas durante las primeras y las últimas cinco sesiones de exposición al programa de reforzamiento encadenado. En la figura se observa que para las tres ratas el número de respuestas por componente aumentó del primero al cuarto componente del programa de reforzamiento encadenado. Este aumento fue más notable durante las últimas cinco sesiones que durante las primeras cinco sesiones de exposición al programa de reforzamiento encadenado. No se encontraron diferencias sistemáticas en las últimas cinco sesiones de exposición al procedimiento en las tres ratas.

La Tabla 2 muestra el número de reforzadores obtenidos por sesión durante las primeras y las últimas cinco sesiones de exposición al programa de reforzamiento encadenado. Los reforzadores obtenidos fueron cercanos a 30 para todas las ratas y disminuyeron ligeramente durante el último bloque de cinco sesiones para las Ratas RM2 y RM3.

Discusión

El aumento encontrado del primero al cuarto componente del programa de reforzamiento encadenado es congruente con los resultados de estudios anteriores que utilizaron estos programas de reforzamiento (e.g., Kelleher & Fry, 1962; Royalty, Williams, & Fantino, 1987; véase también Gollub, 1977, para una revisión).

La disminución encontrada en el número de reforzadores obtenidos por sesión conforme transcurrieron las sesiones de exposición al procedimiento es congruente con estudios previos que usaron programas encadenados de más de tres componentes. Por ejemplo, Gollub (1977) describió que en un programa encadenado de cinco componentes, las respuestas en el componente inicial del programa se detuvieron tanto como una hora. En el presente estudio, con el programa encadenado de cuatro componentes, se observó una disminución en la tasa de respuesta en el componente inicial que incluso resultó en una disminución en la frecuencia de reforzamiento obtenida.

Durante el último bloque de cinco sesiones se registraron en promedio 3851 respuestas al día en las tres ratas. En el desarrollo de las pruebas se supervisó constantemente el funcionamiento correcto de la interfaz. Cabe señalar que, a la fecha, hemos conducido otros experimentos usando esta interfaz durante más de 240 sesiones, sin haber encontrado problemas en el funcionamiento del prototipo.

Conclusiones

El diseño de la interfaz se simplifica de manera considerable con el uso del circuito integrado. Además de mostrarse estable y eficaz durante las pruebas, su costo incluyendo los cables de conexión es de sólo $800 pesos mexicanos, aproximadamente. Así, el costo del desarrollo de experimentos que requieran el control de más de una cámara experimental de manera simultánea, aun con el requerimiento de construir más de una interfaz, sería significativamente más bajo que adquiriendo el equipo comercial. Nuestros resultados sugieren que la interfaz de bajo costo usando un puerto paralelo y VBEE es una alternativa viable a los equipos comerciales para realizar experimentos con pocos recursos.

Referencias

  • Axelson, J. (1997). Parallel port complete: Programming, interfacing and using the PC’s parallel printer port. Madison, WI: Lakeview
  • Cabello, F., Barnes-Holmes, D., O’Hora, D., & Stewart, I. (2002). Using visual basic in the experimental analysis of human behavior: A brief introduction. Experimental Analysis of Human Behavior Bulletin, 20, 18-21.
  • Cushman, W. B. (1993). A parallel printer port to matrix driver with high current DAC output. Behavior Research Methods, Instruments, & Computers, 25, 48-52. doi: 10.3758/BF03204448
  • Dalrymple-Alford, E. C. (1992). Response-key input via the IBM PC / XT / AT’s parallel printer port. Behavior Research Methods, Instruments, & Computers, 24, 78-79. doi: 10.3758/BF03203475
  • Escobar, R. & Lattal, K. A. (2010). Interfaz de bajo costo usando un puerto paralelo y Visual Basic. Revista Mexicana de Análisis de la Conducta, 3, 7-21. doi: 10.5514/rmac.v36.i3.01
  • Gollub, L. (1977). Conditioned reinforcement: Schedule effects. En W. K. Honig & J.E. R. Staddon (Eds.), Handbook of operant behavior (pp. 288-312). Englewood Cliffs, NJ: Prentice-Hall.
  • Gollub, L. R. (1991). The use of computers in the control and recording of behavior. En I. H. Iversen & K. A. Lattal (Eds.), Experimental analysis of behavior: Part 2 (pp.155-192). Nueva York, E.U.: Elsevier.
  • Iversen, I. H. (2002). Response-initiated imaging of operant behavior using a digital camera. Journal of the Experimental Analysis of Behavior, 77, 283-300. doi: 10.1901/jeab.2002.77-283
  • Iversen, I.H. (2008). An inexpensive and automated method for presenting olfactory or tactile stimuli to rats in a two-choice discrimination task. Journal of the Experimental Analysis of Behavior, 90, 113-124. doi: 10.1901/jeab.2008.90-113
  • Kelleher, R. T., & Fry, W. T. (1962). Stimulus functions in chained fixed-interval schedules. Journal of the Experimental Analysis of Behavior, 5, 167-173. doi: 10.1901/jeab.1962.5-167
  • Royalty, P., Williams, B. A., & Fantino, E. (1987). Effects of delayed conditioned reinforcement in chained schedules. Journal of the Experimental Analysis of Behavior, 47, 41–56. doi: 10.1901/jeab.1987.47-41
  • Stewart, N. (2006). A PC parallel port button box provides millisecond response time accuracy under Linux. Behavior Research Methods, 38,170-173. doi: 10.3758/ BF03192764
  • Sorokin, A. V. (2002). Instrument-to-PC interfacing using an enhanced parallel port. Instruments & Experimental Techniques, 45, 516-520.

Aceptación final: Mayo 29, 2012
Recibido: Marzo 4, 2012

Apéndice

El programa de prueba de la interfaz consiste de un formulario y de un módulo. El formulario contiene los siguientes elementos

Las líneas en este esquema señalan el nombre de los elementos para identificarlos fácilmente en el código. El siguiente texto es el código dentro del formulario Parallel. vb asociado al diseño anterior

Option Strict Off
Option Explicit On
Public Class Parallel
Public intStop As Integer
Private Sub btnGenerate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGenerate.Click
Dim PortAddress As Integer
Dim Value As Integer
PortAddress = CSng(txtPortOut.Text) 
Value = CSng(txtValue.Text) 
Out(PortAddress, Value)
lblPort.Text = PortAddress.ToString() 
lblValue.Text = Value.ToString()
End Sub
Private Sub btnRead_Click(ByVal sender As System.Object, ByVal e As System. EventArgs) Handles btnRead.Click
Dim Response1 As Integer 
Dim Response2 As Integer 
Dim Response3 As Integer 
Dim Response4 As Integer 
Dim Response5 As Integer 
Dim Response6 As Integer 
Dim PortAddress1 As Integer 
Dim PortAddress2 As Integer 
Dim PortAddress3 As Integer
PortAddress1 = 888 
PortAddress2 = 889 
PortAddress3 = 890
Response1 = Inp(PortAddress1) 
Response2 = Inp(PortAddress2) 
Response3 = Inp(PortAddress3)
Do
If Response1 <> Response4 
Then txtPortInp.Text = “888” 
lblValueInput.Text = Response4 
lblInput1.Text = “Response” My.Application.DoEvents()
ElseIf Response2 <> Response5 
Then txtPortInp.Text = “889” 
lblValueInput.Text = Response5 
lblInput1.Text = “Response” 
My.Application.DoEvents()
ElseIf Response3 <> Response6 
Then txtPortInp.Text = “890” 
lblValueInput.Text = Response6 
lblInput1.Text = “Response” My.Application.DoEvents()
Else 
txtPortInp.Text = Nothing 
lblValueInput.Text = 256 
lblInput1.Text = “No Response” 
My.Application.DoEvents()
End If
Response4 = Inp(PortAddress1)
Response5 = Inp(PortAddress2) 
Response6 = Inp(PortAddress3) 
My.Application.DoEvents()
If intStop = 1 Then End Loop
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System. EventArgs) Handles btnExit.Click
intStop = 1
Me.Close() 
End Sub
End Class

Para probar las salidas debe ejecutarse el programa y escribirse la dirección del puerto que quiere probarse (e.g., 888). Debe escribirse el valor del puerto. Por ejemplo, 1 activa el primer relevador al presionar el botón generar y 2, 4 y 8 activan los otros relevadores, respectivamente. Al presionar el botón leer, el programa registra si ocurre una respuesta y muestra la dirección del puerto de entrada (e.g. 889) en el cual ocurrió la respuesta.

El modulo nombrado InpOutDeclarations.vb contiene las líneas necesarias para acceder al puerto paralelo por medio de las funciones Inp y Out.

Module InpOut_Declarations
Public Declare Function Inp Lib “inpout32.dll” Alias “Inp32” (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib “inpout32.dll” Alias “Out32” (ByVal PortAddress As Integer, ByVal Value As Integer) 
End Module

Inicia la discusión (0)

Parece que no hay comentarios en esta entrada. ¿Porqué no agregas uno e inicias la discusión?

Trackbacks y Pingbacks (0)

Abajo hay un recuento de los trackbacks y pingbacks relacionados con este artículo. Estos se refieren a los sitios que hacen mención o referencia de esta entrada.