Visual Basic er et vanlig programmeringsspråk som brukes i en rekke applikasjoner . Språket kan brukes i Lego Mindstorms robotikk kits å lage forskjellige programmer. Disse pakkene kommer med programmerbare datamaskiner kjent som "murstein " som styrer robotene . Programvaren for disse pakkene kan programmeres til å lage en oppstart eller oppstart program for roboten. Du trenger
Visual Basic
Microsoft Robotics Studio
XBox 360-kontrolleren
Bluetooth -adapter
Lego Mindstorms NXT
Vis flere instruksjoner
1 < p> Plugg inn robot at du konstruert ved hjelp av de grunnleggende verktøy og instruksjoner som følger i robotikk kit. Sørg for at Bluetooth er aktivert fra de viktigste LED -menyen brukes til å sette opp din robot.
2
Opprett tjeneste som vil være ansvarlig for å drive roboten først. I Visual Basic , skriv " dssnewservice /språk: VB /tjeneste: " etterfulgt av navnet på tjenesten . For eksempel, hvis du ønsker å navngi tjenesten LegoBot , skriver du inn følgende : " dssnewservice /språk: VB /tjeneste: LegoBot " . Sluttresultatet vil være en mappe som inneholder flere nødvendige filene for ytterligere konfigurasjon av din makt - up program .
3
Åpne LegoBot filen, som skal hete LegoBot.sln . Still inn referanser i boksen eller menyen som åpnes opp når du åpner filen . Venstre klikk " RoboticsCommon.proxy " og " XInputGamePad.Y2006.M09.proxy " i LegoBot katalogen.
4
Åpne LegoBot.cs /.vb fil for å legge til tre linjer med Visual Basic kode :
Import støtfanger = Microsoft.Robotics.Services.ContactSensor.ProxyImports stasjon = Microsoft.Robotics.Services.Drive.ProxyImports gamepad = Microsoft.Robotics.Services.Sample.XInputGamepad.Proxy
5
Lag portene du vil bruke til å kommunisere med enheten ved å skrive inn følgende kode :
" partnerskap med støtfanger , differensial stasjonen og gamepad < Partner ( " bumper " , kontrakt: = støtfanger . Contract.Identifier , CreationPolicy : = PartnerCreationPolicy.UseExisting ) > _private _bumperPort Som bumper.ContactSensorArrayOperations = Nye bumper.ContactSensorArrayOperations ()
< Partner ( "drive" , kontrakt: = drive.Contract.Identifier , CreationPolicy : = PartnerCreationPolicy.UseExisting ) > _private _drivePort Som drive.DriveOperations = Nye drive.DriveOperations ()
< Partner ( " XInputGamepad " , kontrakt: = gamepad.Contract.Identifier , CreationPolicy : = PartnerCreationPolicy.CreateAlways ) > _private _gamepadPort Som gamepad.XInputGamepadOperations = Nye gamepad.XInputGamepadOperations
6
Abonner på spillet ditt pad tjenesten ved å skrive inn " abonnere på knappetrykk og styrespak endringer på 360 padDim gamepadNotify As gamepad.XInputGamepadOperations = Nye gamepad.XInputGamepadOperations () _gamepadPort.Subscribe ( gamepadNotify ) Aktiver ( Arbiter.Receive ( Of gamepad.ThumbsticksChanged ) (Sann , gamepadNotify , AddressOf ThumbstickHandler ) ) Aktiver ( Arbiter.Receive ( Of gamepad.ButtonsChanged ) (sann , gamepadNotify , AddressOf ButtonHandler "
7
Åpne LegoBotState objekt og legge til « opprettholde om motorene er enabledPublic MotorEnabled som Boolean "for å indikere at roboten motorer er aktivert.
8
Legg inn koden som trengs for å finne ut hvordan boten vil bli håndtert : "Private Sub ThumbstickHandler ( ByVal msg Som gamepad.ThumbsticksChanged ) Hvis ( _state.MotorEnabled ) Then ' Venstre /RightWheelPower forventer en verdi fra - 1.0f til 1.0f . de thumbsticks vil returnere en verdi skjema - 1.0f til 1.0f . Praktisk .
Opprett en requestDim req Som drive.SetDrivePowerRequest = Ny drive.SetDrivePowerRequest ( )
' tildele valuesreq . LeftWheelPower = msg.Body.LeftYreq.RightWheelPower = msg.Body.RightY
' innlegg på request_drivePort.SetDrivePower (req ) End IfEnd Sub
Private Sub ButtonHandler ( ByVal msg Som gamepad.ButtonsChanged ) Hvis ( msg.Body.A ) Then_state.MotorEnabled = TrueEnd IfEnd Sub "
9
Sett opp du støtfanger funksjonalitet ved å skrive :" abonnere på støtfanger notificationsDim bumperNotify Som bumper.ContactSensorArrayOperations = Ny støtfanger . ContactSensorArrayOperations () _bumperPort.Subscribe ( bumperNotify ) Aktiver ( Arbiter.Receive ( Of bumper.Update ) (Sann , bumperNotify , AddressOf BumperHandler ) ) "
10
Aktiver støtfanger handler ved å skrive inn de nødvendige kode : "Private Sub BumperHandler ( ByVal msg Som bumper.Update ) Hvis ( msg.Body.Pressed ) ThenLogInfo ( " ! Presset ")
_state.MotorEnabled = False
' skape en requestDim req Som drive.SetDrivePowerRequest = Ny drive.SetDrivePowerRequest ( )
' stoppe wheelsreq.LeftWheelPower = 0.0Freq.RightWheelPower = 0.0f
' innlegg på request_drivePort.SetDrivePower (req ) Avslutt IfEnd Sub "
11
Kjør tjenesten ved debugging programmet og fortelle programmet for å tillate enhetene som er installert over for å jobbe med programmering. Høyreklikk på " Properties "-kommandoen i prosjektet. venstre-klikk på " Debug " og deretter legge til " - manifest : " . samples \\ config \\ LEGO.NXT.LegoBot.manifest.xml "" i tekstboksen merket " kommandolinjeargumentene "