Arduino y Visual Basic 6.0 (Motor de Servo continuo) (1 / 2 paso)

Paso 1: Visual Basic 6.0 (fabricación de DLL)

Al hacer una DLL en VB6.0, siempre crear clase independiente. Dentro de la clase, podría haber como mucho público (accesible por el usuario) y privado (sólo accesible por funciones internas) funciones. Es una buena práctica para crear clases que tiene funciones específicas, por lo que también podría ser utilizado en el futuro proyectos. Asegúrese de que guardar el archivo de proyecto y la clase antes de hacer la DLL por lo que se podría modificar en el futuro. * Un archivo DLL no se puede modificar * sin sus archivos de proyecto/clase principal. Al crear la DLL, asegúrese de que:

1. clase es independiente, declarar las variables como privadas (mayor privacidad)
2. no se aceptan objetos en clase. Por el contrario, aceptar 'variantes' entonces 'set' para un objeto declarado privado.

Ejemplo:
Privado MC como MSComm
Público sub InitializeClass (Byval fileName como cadena, MsComm como variante)
' en vez de
Público sub InitializeClass (Byval fileName como cadena, MsComm como MSComm)
Entonces, Set MC = MsComm
3. otros??? (Sólo he encontrado el problema en 2).

Mi Servo Función

Privado The_File cadena, The_Section como cadena
MComm privado como MsComm, Box como cuadro de texto
LongitudTexto privado mientras, comando como cadena

Privado Declare Sub Sleep Lib "kernel32" (ByVal milisegundos como tiempo)
Private Declare la función GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (lpApplicationName ByVal As String, ByVal lpKeyName como cualquiera, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize como largo, ByVal lpFileName As String) como larga
Private Const LocWordLength = 20

Público Sub InitServo(PortSettingFileName As String, FileSection As String, MsComm As Variant, txtBoxFeedback As Variant)
The_File = PortSettingFileName
The_Section = FileSection
Establecer MComm = MsComm
Set Box = txtBoxFeedback

' Cargado de salida ajustes de COMPORT
Registro de "archivo:" & The_File & vbCrLf & "sección:" & The_Section

' Abrir puerto y conectar con Arduino
Con MComm
Si es. PortOpen entonces. PortOpen = False ' cerrar y ajustar el número de puerto com
. CommPort = SimpleGet("comport")
. Ajustes = SimpleGet("settings")
. EOFEnable = True
Registro de "Puerto Com:" &. CommPort & vbCrLf & "configuración:" &. Configuración
Terminar con

SendData ("CO")
End Sub

Público Sub SendData (ByVal Commandx como cadena)
On Error GoTo Error
Comando = Commandx
' fíjese primero en comando
Comando = Trim(Command) ' deshacerse de espacios adicionales en el lado
Si (InStr (comando, "") <> 0) o (Len(Command) > 10) entonces
GoTo Error ' no enviar si el formato del comando es incorrecta
End If

Dim yo como Integer, Char, String

Para i = 1 a 2 ' porque longitud de carácter ecpected es sólo 2
Char = Mid (comando, i, 1)

Si (Char > = "A" y Char < = "Z") entonces ' no hacer nada si los 2 primeros caracteres son alfabetos
Otra cosa
GoTo Error
End If
Siguiente

Si InStr (Char, "C") = 0 Then ' comprobar números de entrada no relacionada con CT y CO
Para i = 3 a Len(Command) ' Asegúrese de que el resto del comando son números enteros
Char = Mid (comando, i, 1)

Si (Char > = "0" y Char < = "9") entonces ' no hacer nada si los caracteres restantes son números
Otra cosa
GoTo Error
End If
Siguiente
End If

Si InStr (comando, "L") = 0 Then ' si el comando no solicitar ubicación
LongitudTexto = Len(Command)
Otra cosa
LongitudTexto = LocWordLength
End If

Con MComm
. DTREnable = False
. = False ' desactivar la petición para enviar una señal
Si es. PortOpen = False Then. PortOpen = True ' abrir el puerto
. Salida = Commandx ' enviar texto
. RThreshold = longitudTexto ' guardar envía la longitud de cadena
Final con ' puerto para dejar abiertas esperar señal de eco proceder
ServoOnComm

Salida Sub
Error:
Si (Err.Description) entonces
MsgBox Err.Description
Otra cosa
MsgBox "Comando no válido!"
End If
End Sub

Private Sub Log(Text As String)
En Error GoTo error
tBox.Text = texto & vbCrLf & tBox.Text
Salida Sub
ERROR:
MsgBox "Error al registro:" & Err.Description
Reanudar la siguiente
End Sub

' Función de OnComm manual para detectar eco de datos enviados
Private Sub ServoOnComm()
Dim InString cadena

Hacer
DoEvents
Loop hasta que MComm.CommEvent = comEvReceive MComm.InBufferCount y > = longitudTexto

Sueño (5)
Si longitudTexto = LocWordLength entonces ' espere caracteres restantes llegar a tampón
Sueño (30)
End If

' Recuperar todos los datos disponibles.
MComm.InputLen = 0

' Comprobar datos.
Si MComm.InBufferCount > 0 entonces ' leer los datos.
InString = MComm.Input
' verifica si los datos recibidos es el esperado
Si InStr (InString, comando) > 0 entonces ' si el comando es un eco

ElseIf InStr(Command, "L") <> 0 entonces ' si el comando original L y echo mucho
Si Len(InString) > = LocWordLength entonces

End If
Otra cosa
GoTo Error
End If

Si Len(InString) > 0 entonces ' eco de salida en el cuadro de texto
tBox.Text = InString & tBox.Text
End If
End If

Si MComm.PortOpen entonces MComm.PortOpen = False ' cierra el puerto después de recibir respuesta
Salida Sub
Error:
MsgBox "Error de recibir!"
End Sub

Público Sub ExitServo()
SendData ("CT")
Si MComm.PortOpen entonces MComm.PortOpen = False ' si el puerto está abierto, cierre si antes de la salida

' tal vez puede añadir a servo casa antes de salir
End Sub

Función pública SimpleGet (VarName como cadena) como cadena
Static sLocalBuffer As String * 500
Dim l como entero de

l = GetPrivateProfileString (The_Section, VarName, vbNullString, sLocalBuffer, 500, The_File)
SimpleGet = Left$ (sLocalBuffer, l)

End Function

Artículos Relacionados

Control de un motor DC con Arduino y Visual Basic

Control de un motor DC con Arduino y Visual Basic

Hola amigos este es mi primer post en instructables.com donde voy a intentar traer más des de novedad a menudo.Hoy el tema es con Arduino y Visual Basic.El proyecto que hoy podemos ver es un motor de la c.c. del regulador con Arduino y Visual Basic.P
Arduino con visual basic 6.0 de control

Arduino con visual basic 6.0 de control

este instructable es parte de mi libro Arduino + visual basic 6.0 (poner su propio software de control arduino Robot.Visual basic 6.0 es una versión muy vieja, algunas personas pueden preguntar por qué queremos utilizar visual basic 6.0. visual basic
Arduino y Visual Basic 6 (controlador de luz)

Arduino y Visual Basic 6 (controlador de luz)

este instructable es algo así como un tutorial para los nuevos usuarios VB. Muestra cómo crear un programa de VB6 base de analizador para interactuar con el circuito de Arduino. Básicamente, la interacción es en forma de comunicación en serie mediant
Controles de Kinect Arduino conectado Servos utilizando Visual Basic 2010

Controles de Kinect Arduino conectado Servos utilizando Visual Basic 2010

actualización enero de 2012: esta guía se ofrece en Channel9 de MSDN de Microsofthttp://Channel9.msdn.com/Coding4Fun/blog/Kinecting-to-Arduino-with-Visual-BasicINTRODUCCIÓNEn este proyecto, usar movimientos de izquierda y derecha en Kinect para contr
DC control con VISUAL BASIC

DC control con VISUAL BASIC

en este instructables donde voy a intentar traer más des de novedad a menudo.Hoy el tema es con Arduino y Visual Basic. El proyecto que hoy podemos ver es un motor de la c.c. del regulador con Arduino y Visual Basic. Para el control de un dc motor no
Arduino - Servo Control con Visual Basic

Arduino - Servo Control con Visual Basic

Hola chicos,Hoy te voy a mostrar cómo se puede controlar un servo con Visual basic. Antes de este proyecto nunca he utilizado Visual basic así que si alguien encuentra algún error en mi codigo por favor deja un comentario aquí y ayudarme a mejorarla.
Cómo programar Arduino Bluetooth comunicación Serial de Visual Basic Express 2010

Cómo programar Arduino Bluetooth comunicación Serial de Visual Basic Express 2010

Taquí son varios programa y Software Android para controlar tu arduino bluetooth robot con tu android. Pero usted no puede encontrar uno para usar con tus PC windows. Por lo tanto programo un poco uno en Visual Basic Express 2010. Espero que sea útil
Remoto de Arduino RGB LED por Visual Basic

Remoto de Arduino RGB LED por Visual Basic

RequisitosCualquier Arduino (estoy utilizando Arduino Uno)Visual Basic Express 2010 puede descargar VB desde aquíRGB LedPaso 1: Crear la aplicaciónEn este instructable, vamos a hacer un programa de control de Led RGB.Siga los siguientes pasos:Haga cl
Arduino y medición de humedad de temperatura Visual Basic sobre RF

Arduino y medición de humedad de temperatura Visual Basic sobre RF

Podemos ver Arduino usando RF de 433 MHz con visualización instantánea de los valores de temperatura y humedad como lo hacemos con el programa de visual basic.http://make.robimek.com/Arduino-Visual-Basic-Wireless-temperature-Humidity-Control/Vamos a
Utilizando Visual Basic 2010 para controlar Arduino Uno

Utilizando Visual Basic 2010 para controlar Arduino Uno

sé que esto se ha hecho en el pasado un par de veces así que aquí está uno más. Se trata de un esqueleto Visual Basic 2010 y Arduino Sketch que mezclan a prueba el PC a Arduino Uno conexión vía serial. Simplemente resulta LED 13 encendido o apagado.E
Consola de Control del Robot Arduino programa con visual basic

Consola de Control del Robot Arduino programa con visual basic

Vamos a hacer nuestra consola de robot para administrar este proyecto con Visual Basic.Gestionamos nuestro robot vía Bluetooth.Herramientas necesarias para nuestro formulario:13 tecla de número2 combobox número1 pieza texbox1 pedazo de GroupBox1 piez
Cómo auto-detect y conectarse a Arduino en Visual Studio mediante Visual Basic

Cómo auto-detect y conectarse a Arduino en Visual Studio mediante Visual Basic

Cómo auto detectar qué puerto arduino o geekduino es conectarse usando visual basic y se conectará automáticamente a él! (más adelante agregaré como auto detectar cuando es desconectado!).Nota: botón no es necesario pero que en caso de conectar tu ar
Haciendo que Arduino del puerto serial con visual basic

Haciendo que Arduino del puerto serial con visual basic

Vamos a hacer la interfaz del programa para conectar el puerto serie con Visual Studio.Echemos un vistazo a los detalles del programa.Herramientas que utilizamos en el formulario:botón de 3 piezas2 ComboBox número3 etiqueta de la piezapuerto seriePas
Cómo controlar con Visual Basic GizDuino

Cómo controlar con Visual Basic GizDuino

Esto lo guiará a través de la puesta en marcha, cableado del cableado externo y codificación GizDuino y VBA en el control de 4 LEDs.El Instructables se divide en 3:1. esquema de GizDuino2. diseño y código de VBA3. el cableado del circuito externo.* G