Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

02/02/2010 #1


Interfaz de Puerto USB con Visual Basic.Net
Hola soy nueva en esto de los foros...

Pero necesito de su Gran Ayuda!!!!

Lo que tratdo de hacer es tener una interfaz con el Puerto USB programandolo en Visul Basic .Net, esto lo necesito para un proyecto de mi escuela, pero la verad esto es casi nuevo para mi..... Lo que estoy pensando realizar es que por medio del puerto USB llegen los datos de entrada de los circuitos, y tambien que por medio de la computadora, pueda transferir mis datos de salida!!!!!

Cualquier Ayuda es Aceptada!!!!
y de ante mano GRACIAS!!!!!!!
03/02/2010 #2

Avatar de Meta

Respuesta: Interfaz de Puerto USB con Visual Basic.Net
¿Te vale par un puerto serie? Porque el USB nadie lo domina por aquí muy bien del todo.

http://www.abcdatos.com/tutoriales/tutorial/v12.html

Por otro lado lo estoy haciendo de nuevo pero más completo y real, también habrá manual.
Interfaz puerto serie PicRS232 v2.00 (beta)






Saludo.
02/06/2014 #3

Avatar de EINNER C

Buen Dia,

tengo un progtama que realize hace un tiempo en visual basic .net, para comunicarme por medio de usb hid con un pic 18f2550, dicho proyecto funciono totalmente en simulacion como en real, pero un año despues que vengo a ejecutarlo ya en un pc con w7, me saca un error y la verdad no se que sera, el archivo mcHID.dll esta en la crpteta sistem32, no se si este olvidando algo, agradeceria su ayuda, ademas baje un ejemplo de internet donde dice que funciona perfectamente y cuando lo corro sale el mismo error, lo del pic me funciona perfecto, y aparece como dispositivo hid, pero en visual me sale este error, gracias de antemano por sus ayuda
Imágenes Adjuntas
Tipo de Archivo: jpg Captura de pantalla 2014-06-02 16.05.35.jpg (102,8 KB (Kilobytes), 60 visitas)
11/06/2014 #4


Hola EINNER C, me parece que el error que te muestra VB.net es por que no has agregado la referencia de mcHID.dll.

Para hacerlo, una vez que cargaste tu proyecto, utilizas Proyecto>Agregar referencia...estando en la ventana de "Agregar referencia" vas a la pestaña "Examinar" y desde ahí buscas la carpeta donde tienes mcHID.dll y seleccionas el archivo.

Con esto debería quitarse el problema, ojala te sirva mi comentario.

Saludos
18/06/2014 #5


Ejemplo de prender y apagar led desde VB.net
Hola Meta, recibe un saludo y aprovecho para ver si me puedes enterar sobre lo que comentaste:

¿Te vale par un puerto serie? Porque el USB nadie lo domina por aquí muy bien del todo.
Tenia entendido que en el tema que nuestro compañero Moyano inicio:http://www.forosdeelectronica.com/f2...18f2550-17458/ ya estaba mas que solucionado el asunto USB HID y visual .net, y que tu también lo tenias resuelto, ya que vi inclusive algún post donde tocan el tema USB-HID HIDComm.exe para 64 bits (win 7 y win vista) , y di por hecho el dominio del USB, yo por mi parte, que trato de programar todo en lenguaje Basic, desde los microcontroladores; "IDE proton compiler" y desde la pc; "Visual Basic .net 2010", vengo resolviendo la comunicación USB-HID por medio de la libreria "HIDLibrary.dll" que descargue de https://github.com/mikeobrien/HidLibrary y que desde aquí aprovecho a agradecer al desarrollador Mike O'Brien por su excelente librería.

Con esta librería he encontrado una simplificación estupenda para escribir mis programas VB.net, aun cuando siempre compilo en 32 bits, los programas funcionan perfecto en 64 bits incluyendo el nuevo windows 8 (32 y 64 bits) y hasta en el ya saliente Windows XP, el único requisito para que todo funcione ok es tener el Netframework mas reciente, que obvio que si instalas Visual Basic .net, pues ya lo tendrás, lo comento para cuando se tiene que distribuir la aplicación. Por el lado de la DLL (HIDLibrary.dll) solo se requiere que este presente el archivo en el mismo directorio donde esta la aplicación o el clásico \windows\system32\.



De cualquier manera dejo una sencillisima aplicación en VB.net 2010, que no hace otra cosa que prender un led o apagarlo (enviar un buffer) y mostrar el contenido de un puerto (recibir buffer). No voy a adentrarme en diagramas, explicaciones extensas del protocolo ya que esta mas que documentado en el Post de Moyano, que por cierto le envió un saludo; solo deseaba tocar el asunto de Visual Basic.net, eso si les aseguro que con esta misma librería (HIDLibrary.dll) he podido tener comunicación con cualquier dispositivo HID, ya sea un Microchip, Un Atmel, Un mouse, un teclado, etc, etc, que sea HID.

Ojala sirva mi "aportación" creo que viene lo suficientemente documentado el programa como para realizar un manual...reciban un cordial saludo.


Código PHP:
Imports HIDLibrary ' se importan las funciones de la libreria HIDLibrary.dll y a su vez tendremos que referenciarla via el Menu; Proyecto>Agregar Referencia
Imports System.Threading '
importamos el "engarzado" de las funciones de la libreriapara que esten disponibles en nuestro programa


Public Class Cibertlan_HID

    Dim HidDeviceList 
As HIDLibrary.HidDevice() ' Es la Variable que indicara si hay tarjetas HID en nuestro sistema (windows)
    Dim Cibertlan As HidDevice ' 
Esta variable nos sirve para dar un nombre a nuestra tarjeta cuando este reconocida por el programayo usare Cibertlan
    Dim EntradaDatos 
As HidDeviceData ' esta variable contendra y manejara el buffer de entrada de la conexion USB de nuestra tarjeta
    Dim SalidaDatos(8) As Byte ' 
La variable Salidadatos contendra el buffer que sera enviado a la conexion USB de nuestra tarjeta
    
    
Private Sub Form1_Load(sender As System.ObjectAs System.EventArgsHandles MyBase.Load
        
    End Sub

    
Private Sub Timer1_Tick(sender As System.ObjectAs System.EventArgsHandles Timer1.Tick 'esta subrutina es un timer activo cada 100 ms

        HidDeviceList = HidDevices.Enumerate(&H1781, &H7D0) ' 
Enumeramos nuestro dispositivo en base al Vid y Pid de nuestra tarjeta

        
If HidDeviceList.Length 0 Then 'si existe cuando menos un dispositivo con el Vid y Pid entonces,
            Cibertlan = HidDeviceList(0) '
tomamos el primer dispositivo encontrado y le asignamos un nombreen este caso "Cibertlan"

            ' Dentro del siguiente If (si es valido) se Verifica si la tarjeta esta conectada y reconocida por Windows, 
            ' 
ademas se Transfieren los buffers de salida y de entrada

            
If Cibertlan.IsConnected Then ' Preguntamos si la tarjeta esta conectada y si es asi:
                Conecta.FillColor = Color.Green ' 
Cambiamos el color de nuestro indicador de conexion a Verde
                Enciende
.Enabled True ' Habilitamos el boton de comando "Enciende"
                Apaga.Enabled = True ' 
Habilitamos el boton de comando "Apaga"
                
Cibertlan.Write(SalidaDatos' se transfiere el Buffer de salida desde la variable SalidaDatos hacia nuestra tarjeta USB
                EntradaDatos = Cibertlan.Read() ' 
se Transfiere el Buffer desde nuestra tarjeta USB en la variable EntradaDatos
                Thread
.Sleep(10' Hacemos una pausa de 10 milisegundos para esperar que las operaciones de intercambio se completen.
                Buferin.Text = EntradaDatos.Data(1) '
aqui en este ejemploveremos reflejado el buffer(1que viene desde nuestra tarjeta usb en el textbox "buferin"
            
End If
        Else 
' Si no se detecto la tarjeta se deshabilitan los botones y se pone en rojo el indicador de conexion
            Conecta.FillColor = Color.Red ' 
cambiamos el color de nuestro indicador de conexion a Rojo
            Enciende
.Enabled False ' Deshabilitamos el boton de comando "Enciende"
            Apaga.Enabled = False ' 
Deshabilitamos el boton de comando "Apaga"
        
End If
    
End Sub

    
Private Sub Enciende_Click(sender As System.ObjectAs System.EventArgsHandles Enciende.Click
        SalidaDatos
(0) = ' se coloca un cero en la primera variable del buffer nota.-El buffer (0) se utilza para manejo de errores
        SalidaDatos(1) = 1 ' 
Escribimos un "1" en el buffer(1que en su momento se vera refeljado en el buffer de nuestra tarjeta.
    
End Sub

    
Private Sub Apaga_Click(sender As System.ObjectAs System.EventArgsHandles Apaga.Click
        SalidaDatos
(0) = ' se coloca un cero en la primera variable del buffer nota.-El buffer (0) se utilza para manejo de errores
        SalidaDatos(1) = 0 ' 
Escribimos un "O" en el buffer(1que en su momento se vera reflejado en el buffer de nuestra tarjeta.
    
End Sub
End 
Class 
Archivos Adjuntos
Tipo de Archivo: rar Cibertlan_HID.rar (120,1 KB (Kilobytes), 128 visitas)
13/10/2014 #6


Ejemplo de Encendido y Apagado de Led en VB2013
Hoola a Todos agradeceria su ayuda porfavor me gustaria aplicar el código de Cibertlan_HID pero en VB2013, he intentado aplicar el código de VB2010 pero me da un error en

HidDeviceList = HidDevices.Enumerate(&H1781, &H7D0) '

si alguien me puede ayudar, soy principiante agradecería la ayuda que puedan brindarme
13/10/2014 #7
Visitante


Yrami dijo: Ver Mensaje
Ejemplo de Encendido y Apagado de Led en VB2013
Hoola a Todos agradeceria su ayuda porfavor me gustaria aplicar el código de Cibertlan_HID pero en VB2013, he intentado aplicar el código de VB2010 pero me da un error en

HidDeviceList = HidDevices.Enumerate(&H1781, &H7D0) '

si alguien me puede ayudar, soy principiante agradecería la ayuda que puedan brindarme

Yrami Pásate por aquí y podrás realizar tu proyecto con efectividad.
https://es.scribd.com/doc/236646764/...-de-Vb-usb-Hid

También algo por aquí:

http://protonbasic.wordpress.com/usb/usb-hid/
14/10/2014 #8


Muchas gracias Yetrox por tu ayuda creo que esto me servirá mucho
16/10/2014 #9


Hola Yrami:

¿Realizaste la "referencia" de la libreria DLL?

Si te fijas en la primera linea del programa lo comento.

se importan las funciones de la libreria HIDLibrary.dll y a su vez tendremos que referenciarla via el Menu; Proyecto>Agregar Referencia
Ya que si no lo haces, simplemente te aparecen errores como el que comentas, yo pude utilizar este mismo programa en vb 2012 (windows8 32 bits) sin ningún problema, sin embargo reitero es fundamental hacer la referencia a la HIDLibrary.dll en tu proyecto.

Con respecto al uso del EASYHID, a mi me parece que ya es obsoleto sobre todo en la parte de Windows ya que el código que genera ya no es para nada compatible con .net y motivo por el que yo encontré mejor solución en la librería que comento. Obvio que no deja ser importante la oportunidad que tuvo en su momento, si visitamos al vestigio del sitio EASYHID, notaremos que ya no esta soportado para nada.

Saludos

Saludos.
26/11/2014 #10


Hola Miborbolla
He probado el código al que hiciste referencia, solamente que pido que por favor me ayudes este es el error que me lanza en el código, lo que deseo es saber encender y apagar un led desde Visual Basic, agradezco tu colaboración(utilizo VB 2013) Gracias Saludos
Imágenes Adjuntas
Tipo de Archivo: jpg Erro1.jpg (86,4 KB (Kilobytes), 23 visitas)
11/12/2014 #11


Pueden ayudarme a construir físicamente el circuito de encendido del led que se usa en el código al cual se refieren en el código Cibertland escrito en VB quizás el error lo tengo en la construcción física del circuito agradezco su ayuda
12/12/2014 #12


Yrami dijo: Ver Mensaje
Pueden ayudarme a construir físicamente el circuito de encendido del led que se usa en el código al cual se refieren en el código Cibertland escrito en VB quizás el error lo tengo en la construcción física del circuito agradezco su ayuda
Claro que podemos ayudarte, si nos precisas lo que llevas hecho; este codigo lo tengo mas que probado.

Si fuera necesario, podría postear el diagrama y el codigo en el microcontrolador que utilisas, solo cuentanos de donde debemos partir para ayudar...el programa en VB funciona correctamente partiendo de que ya tienes "enumerado" en windows tu tarjeta o prototipo en el sistema.

Saludos
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.