Come fare un power-up in mattone in Visual Basic

May 10

Come fare un power-up in mattone in Visual Basic


Visual Basic è un linguaggio di programmazione comune utilizzato in una varietà di applicazioni. La lingua può essere utilizzato in Lego Mindstorms Robotics kit per creare varie applicazioni. Questi kit sono dotati di computer programmabile conosciuti come "mattoni" che controllano i robot. Il software per questi kit può essere programmato per creare un power-up o di start-up del programma per il robot.

istruzione

1 Collegare il robot che si costruito utilizzando gli strumenti di base e le istruzioni fornite nel kit di robotica. Assicurarsi che l'opzione Bluetooth è attivata dal menu principale a LED utilizzata per configurare il robot.

2 Creare il servizio che sarà responsabile per la guida il robot prima. In Visual Basic, digitare "dssnewservice / lingua: VB / servizio:" seguito dal nome del servizio. Ad esempio, se si vuole dare un nome al LegoBot servizio, inserire il seguente: "dssnewservice / lingua: VB / servizio: LegoBot". Il risultato finale sarà una cartella contenente diversi file necessari per l'ulteriore configurazione del programma di accensione.

3 Aprire il file LegoBot, che dovrebbe essere nominato LegoBot.sln. Impostare i riferimenti nella scatola o nel menu che si apre quando si apre il file. Click sinistro "RoboticsCommon.proxy" e "XInputGamePad.Y2006.M09.proxy" nella directory LegoBot.

4 Aprire il file LegoBot.cs / VB per aggiungere tre righe di codice Visual Basic:

Le importazioni del paraurti = Microsoft.Robotics.Services.ContactSensor.Proxy
Le importazioni di auto = Microsoft.Robotics.Services.Drive.Proxy
Le importazioni gamepad = Microsoft.Robotics.Services.Sample.XInputGamepad.Proxy

5 Creare le porte che si intende utilizzare per comunicare con il dispositivo inserendo il seguente codice:

"partenariati con paraurti, unità differenziale e gamepad
<Partner ( "bumper", Contratto: = bumper.Contract.Identifier, CreationPolicy: = PartnerCreationPolicy.UseExisting)> _
_bumperPort privato Come bumper.ContactSensorArrayOperations = Nuovi bumper.ContactSensorArrayOperations ()

<Partner ( "drive", Contratto: = drive.Contract.Identifier, CreationPolicy: = PartnerCreationPolicy.UseExisting)> _
_drivePort privato Come drive.DriveOperations = Nuovi drive.DriveOperations ()

<Partner ( "XInputGamepad", Contratto: = gamepad.Contract.Identifier, CreationPolicy: = PartnerCreationPolicy.CreateAlways)> _
_gamepadPort privato Come gamepad.XInputGamepadOperations = Nuovi gamepad.XInputGamepadOperations

6 Iscriviti al servizio di game pad inserendo "subscribe alla pressione dei pulsanti e stick cambiamenti sul pad 360
Dim gamepadNotify Come gamepad.XInputGamepadOperations = Nuovi gamepad.XInputGamepadOperations ()
_gamepadPort.Subscribe (gamepadNotify)
Attivare (Arbiter.Receive (Of gamepad.ThumbsticksChanged) (True, gamepadNotify, AddressOf ThumbstickHandler))
Attivare (Arbiter.Receive (Of gamepad.ButtonsChanged) (True, gamepadNotify, AddressOf ButtonHandler "

7 Aprire l'oggetto LegoBotState e aggiungere " 'mantengono se i motori sono abilitati
Public MotorEnabled Come booleano "per indicare che i motori del robot sono abilitati.

8 Aggiungere il codice necessario per determinare come verrà gestito il bot:
"Private Sub ThumbstickHandler (ByVal msg come gamepad.ThumbsticksChanged)

If (_state.MotorEnabled) Then
' Left/RightWheelPower expects a value from -1.0f to 1.0f.
' the Thumbsticks will return a value form -1.0f to 1.0f. Convenient.

'Creare una richiesta
req fioco come drive.SetDrivePowerRequest = Nuovo drive.SetDrivePowerRequest ()

'Assegnare i valori
req.LeftWheelPower = msg.Body.LeftY
req.RightWheelPower = msg.Body.RightY

'Inviare la richiesta
_drivePort.SetDrivePower (req)
Finisci se

End Sub

Private Sub ButtonHandler (ByVal msg come gamepad.ButtonsChanged)

If (msg.Body.A) Then
_state.MotorEnabled = True
End If

End Sub "

9 Impostare voi funzionalità paraurti inserendo: " 'sottoscrivere le notifiche paraurti
Dim bumperNotify Come bumper.ContactSensorArrayOperations = Nuovi bumper.ContactSensorArrayOperations ()
_bumperPort.Subscribe (bumperNotify)
Attivare (Arbiter.Receive (Of bumper.Update) (True, bumperNotify, AddressOf BumperHandler)) "

10 Attivare il gestore del paraurti inserendo il codice necessario: "Private Sub BumperHandler (ByVal msg come bumper.Update)

If (msg.Body.Pressed) Then
LogInfo(&quot;Pressed!&quot;)

_state.MotorEnabled = False

'Creare una richiesta
req fioco come drive.SetDrivePowerRequest = Nuovo drive.SetDrivePowerRequest ()

'Fermare le ruote
req.LeftWheelPower = 0.0f
req.RightWheelPower = 0.0f

'Inviare la richiesta
_drivePort.SetDrivePower (req)
Finisci se

End Sub "

11 Eseguire il servizio dal debug del programma e dicendo il programma per consentire ai dispositivi installati al di sopra di lavorare con la programmazione. Fare clic destro sul comando "Proprietà" all'interno del progetto. Sinistro del mouse su "Debug" e quindi aggiungere "-manifest:". Samples \ config \ LEGO.NXT.LegoBot.manifest.xml "" per la casella di testo con l'etichetta "argomenti della riga di comando"