Este documento describe cómo hacer una conexión USB entre un PIC y una aplicación Visual Basic y simularlo todo en Proteus. Se necesita software como Visual Basic, EasyHID, Proteus y un driver USB virtual. EasyHID genera código para la conexión USB. El código creado incluye archivos para programar el PIC y una base de código para Visual Basic. El montaje en Proteus incluye un PIC, LED y conexión USB virtual. Al pulsar un botón en VB, el LED en Proteus debe cambiar de color.
1. COMO HACER UNA CONEXIÓN USB
ENTRE UN PIC Y UNA APLICACIÓN VISUAL BASIC
y SIMULARLO TODO EN PROTEUS
Es algo relativamente fácil, lo que requieres son los siguientes elementos.
De software necesitas:
1. Visual Basic Versión 5.0 en adelante lo bajas de taringa.com.ar. manejarlo
no es tan difícil hay varios cursos en la red muy buenos.
2. EasyHID esto es una aplicación de microcode Studio que te permite
generar código Fundamental para facilitar la conexión PICusb-Visual
Basic.(C o Pascal).
3. EL Protón lo debes tener instalado Y también el proteus.
4. USBDeview es opcional, para monitorear y desmontar drivers USB.
Iniciemos el ejemplo
Debemos generar archivos para la conexión
USB
El programa EasyHID USB Wizard. se encarga de generar códigos necesarios para poder
utilizar los microcontroladores de la línea PIC 18F2455, 18F2550, 18F4455 y 18F4550, que
será el que utilizaremos para nuestro ejemplo. El código para el PIC, lo genera tanto para
PIC Basic Pro como para Protón, mientras que para el ordenador, se encarga de generar
el código en Borland Delphi, Visual C++ y Visual Basic. Por supuesto que todos estos
parámetros se pueden seleccionar mientras se avanza en la preparación del software. En
apenas muy pocos pasos, ya podemos tener una aplicación HID USB lista para
comenzar a cargarla de código. Desde el Protón Development Suite, al iniciar la
aplicación, nos encontraremos con pantallas a las que les iremos cargando los datos
que el sistema nos vaya pidiendo.
Descargamos de esta pagina el EasyHID USB Wizard lo descomprimimos y ejecutamos.
nos sale esta ventana y le ponemos un2000 Y EJEMPLO_USB
2. ventana 1 le pone su logo de predileccion le puede subir su EGO
4. Ventana 3 puedes modificar los Pollin (Input /Output) son los tiempos de espera antes que
el sistema descarte la conexión USB admite max 255.
y además defines la máxima corriente que tu circuito le puede extraer al BUS del PC. Bus
Coger en este caso le sacamos 100mA
5. Ventana 4 acá le pones un nombre al proyecto, seleccionas tipo de PIC usb, Compilador para el
MICRO, y plataforma para crear el Host en el PC
6. Ventana 5 al final te sale esto
Bueno!... ya se creo código base (donde esta ese código ? pues!....COMO SE LO
INDICAMOS EN LA VENTANA 4...en este ejemplo C:/usb/ ) para crear el programa en el
PIC y un programa de extensión INC que debes invocar en Protón, además te creo
código base para visual Basic sobre este código debes escribir o agregar el resto de
elementos que componen tu aplicativo Visual Basic
Dentro de directorio PDS esta lo que se requiere para programar el PIC y dentro de Visual
Basic la base de programación de visual que se debe incrustar en el formulario principal VB
PDS contiene:ProyectoUSB(formato protón) y ProyectoUSBDESC.inc (formato Protón) este
ultimo es el archivo descriptor para la conexión USB debe ser invocado como INCLUIDO al
7. compilar el programa principal para el MICROCONTROLADOR que le puedes dejar el nombre
ProyectoUSB o cambiárselo......QUE sigue? Ponga atención!!
Abra el Programa base ProyectoUSB (formato Protón) Vera este listado
ojo ponga el descriptor (ProyectoUSBDESC.inc ) donde guardas el programa principal o no te
compilara bien!!
EL RESTO SE DEJA ASI
EL RESTO DEL LISTADO ES ESTE
8. CONTIENE LAS RUTINAS DE TRANSMISIÓN Y RECEPCIÓN USB QUE DEBES
LLAMAR EN CASO DE NECESITARLAS
OJO ADEMÁS AL INICIO DEBES DETECTAR LA CONEXIÓN LLAMANDO AttachTo
USB que no sale de ahí si no se conecta
para nuestro ejemplo Proponemos este montaje de abajo en PROTEUS.
9. EL CÓDIGO EN PROTÓN y VB ES ESTE DE ACÁ LO BAJAS
el código VB lo debes estudiar bien lo puedes bajar de acá pero debes poner atención en las
indicaciones de abajo, entiende que es una modificacion y un una ampliacion del codigo anterior
en Basic tenga esto claro
EN LA LÍNEA 13
Private sub. Command1_Click()
BufferOut(3) = 1 ; conecta al buffer (2) del protón que es el estado del led..ojooo.
10. hidWriteEx VendorID, ProductID, BufferOut(0)
End Sub
y en la línea 94
LED = BufferIn(2) ; buffer(1) en protón
If LED = True Then
Shape2.FillColor = vbGreen
Label4.Caption = "Encendido"
Else
Shape2.FillColor = vbRed
Label4.Caption = "Apagado"
End If
AHORA PARA QUE PROTEUS SE COMUNIQUE CON VISUAL BASIC DEBE
CARGAR UN DRIVER VIRTUAL
Ojo no ponerse a jugar conectando y desconectando la conexión USB lo mas seguro es que
proteus te obligue a reiniciar el PC
EN LA APLICACION REAL NO SE REQUIERE CARGAR UN DRIVER
PARA SIMULAR ESTO:
cargas el driver virtual y reinicias
Luego cargas el visual y la aplicación
luego cargas proteus y la aplicación, conecta el plug usb virtual
pulsas el botón el el visual basic y mira que cambie el LED en el protón
TE RECOMIENDO PRACTICAR Y ESTUDIAR ESTE CÓDIGO