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"