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

    

ventana 1       le pone su logo de predileccion le puede subir su EGO      

 

 ventana 2 no cambie nada!!!

   

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

 

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

 

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 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

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.

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.
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:

TE RECOMIENDO PRACTICAR Y ESTUDIAR ESTE CÓDIGO

EL EJEMPLO COMPLETO SIMPLE QUE NO SE VIO EN CLASE ES ESTE

EL EJEMPLO DEL VOLTIMETRO QUE SE VIO EN CLASE ES ESTE