Visual Basic es un lenguaje de programación común que se utiliza en una variedad de aplicaciones. El lenguaje puede ser utilizado en los kits de LEGO MINDSTORMS robótica para crear diversas aplicaciones . Estos kits vienen con las computadoras programables conocidos como "ladrillos" que controlan los robots . El software para estos kits puede ser programado para crear un power-up o de puesta en marcha del programa para el robot . Cosas que necesitará
Visual Basic
Microsoft Robotics Studio
XBox 360 Controller
adaptador Bluetooth
Lego Mindstorms NXT
Ver Más instrucciones
1 < p> Conecte el robot que construyó usando las herramientas básicas y las instrucciones que aparecen en el kit de robótica. Asegúrese de que la opción Bluetooth está activada en el menú principal del LED se utiliza para configurar el robot.
2
Crear el servicio que será el encargado de conducir el robot primero . En Visual Basic , escriba " dssnewservice /language: VB /servicio : " seguido del nombre del servicio . Por ejemplo , si desea nombrar el LegoBot servicio, escriba lo siguiente: " dssnewservice /language: VB /servicio : LegoBot " . El resultado final será una carpeta que contiene varios archivos necesarios para su posterior configuración de su programa de arranque.
3
Abra el archivo LegoBot , que debe ser nombrado LegoBot.sln . Establecer las referencias en el cuadro o en el menú que se abre al abrir el archivo. Clic izquierdo " RoboticsCommon.proxy " y " XInputGamePad.Y2006.M09.proxy " en el directorio LegoBot .
4
Abra las LegoBot.cs /archivo .vb añadir tres líneas de Visual Basic código :
Importaciones parachoques = Microsoft.Robotics.Services.ContactSensor.ProxyImports unidad = Microsoft.Robotics.Services.Drive.ProxyImports gamepad = Microsoft.Robotics.Services.Sample.XInputGamepad.Proxy
5
Crear los puertos que va a utilizar para comunicarse con el dispositivo introduciendo el siguiente código :
" asociaciones con parachoques , unidad diferencial y gamepad < Socio ( " bumper " , Contrato : = parachoques . Contract.Identifier , CreationPolicy : = PartnerCreationPolicy.UseExisting ) > _Private _bumperPort Como bumper.ContactSensorArrayOperations = Nuevos bumper.ContactSensorArrayOperations ( ) guía
< Partner ( "drive " , Contrato : = drive.Contract.Identifier , CreationPolicy : = PartnerCreationPolicy.UseExisting ) > _Private _drivePort Como drive.DriveOperations = Nuevos drive.DriveOperations ( ) guía
< Partner ( " XInputGamepad " Contrato : = gamepad.Contract.Identifier , CreationPolicy : = PartnerCreationPolicy.CreateAlways ) > _Private _gamepadPort Como gamepad.XInputGamepadOperations = Nuevos gamepad.XInputGamepadOperations
6
suscribirse a su servicio de plataforma de juego mediante la introducción de " suscribirse a las pulsaciones de botón y los cambios en el stick analógico gamepadNotify 360 padDim Como gamepad.XInputGamepadOperations = Nuevos gamepad.XInputGamepadOperations () _gamepadPort.Subscribe ( gamepadNotify ) Activate ( Arbiter.Receive ( De gamepad.ThumbsticksChanged ) (Verdadero , gamepadNotify , AddressOf ThumbstickHandler ) ) Activate ( Arbiter.Receive ( De gamepad.ButtonsChanged ) (Verdadero , gamepadNotify , AddressOf ButtonHandler "
7
Abra el objeto LegoBotState y añadir " " mantener si los motores son enabledPublic MotorEnabled As Boolean " para indicar que los motores del robot están habilitados.
8
Añada el código necesario para determinar cómo se manejará el bot: " ThumbstickHandler Sub Private (msg ByVal como gamepad.ThumbsticksChanged ) Si ( _state.MotorEnabled ) Then ' Izquierda /RightWheelPower espera un valor de - 1.0f para 1.0f . ' los Thumbsticks devolverá un valor de un formulario - 1.0f para 1.0f . Conveniente.
' Crear un req requestDim Como drive.SetDrivePowerRequest = New drive.SetDrivePowerRequest ()
' asignar el valuesreq . LeftWheelPower = mensaje msg.Body.LeftYreq.RightWheelPower = msg.Body.RightY
' la request_drivePort.SetDrivePower ( req ) End Sub IfEnd
ButtonHandler Sub Private (msg ByVal como gamepad.ButtonsChanged ) Si ( msg.Body.A ) Then_state.MotorEnabled = TrueEnd IfEnd Sub "
9
Establecer que la funcionalidad de parachoques de este modo: " ' suscribirse al tope notificationsDim bumperNotify Como bumper.ContactSensorArrayOperations = New parachoques . ContactSensorArrayOperations () _bumperPort.Subscribe ( bumperNotify ) Activate ( Arbiter.Receive ( de bumper.Update ) (Verdadero , bumperNotify , AddressOf BumperHandler ) ) "
10
habilitar el controlador de parachoques introduciendo la necesaria código: " BumperHandler Sub Private (msg ByVal como bumper.Update ) Si ( msg.Body.Pressed ) ThenLogInfo ( " ! pulsado " )
_state.MotorEnabled = False
' crear un req requestDim Como drive.SetDrivePowerRequest = New drive.SetDrivePowerRequest ()
' detener la wheelsreq.LeftWheelPower = 0.0Freq.RightWheelPower = 0.0f
"post del request_drivePort.SetDrivePower ( req ) Fin IfEnd Sub "
11
ejecutar el servicio por depurar el programa y decirle al programa para permitir que los dispositivos instalados anteriormente para trabajar con la programación . Haga clic derecho sobre el comando" Propiedades " en el proyecto. Haga clic izquierdo en " Debug " y luego añadir " - manifiesta : " . samples \\ config \\ LEGO.NXT.LegoBot.manifest.xml "" para el cuadro de texto llamado " argumentos de línea de comandos"